{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import functools\n",
    "import os\n",
    "import json\n",
    "import multiprocessing as mp\n",
    "import re\n",
    "import torch\n",
    "from tqdm import tqdm\n",
    "from torch_geometric.data import *\n",
    "import threading\n",
    "import networkx as nx\n",
    "import math\n",
    "\n",
    "filePath=\"/the/absolute/path/of/raw_log/\"\n",
    "filelist = os.listdir(filePath)\n",
    "\n",
    "import hashlib\n",
    "def stringtomd5(originstr):\n",
    "    originstr = originstr.encode(\"utf-8\")\n",
    "    signaturemd5 = hashlib.sha256()\n",
    "    signaturemd5.update(originstr)\n",
    "    return signaturemd5.hexdigest() "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "filelist = ['ta1-clearscope-2-e5-official-1.bin.4.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.18.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.23.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.26.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.8.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.2.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.16.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.14.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.14.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.3.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.33.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.7.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.24.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.11.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.30.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.29.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.22.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.18.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.15.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.10.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.21.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.3.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.25.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.33.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.21.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.25.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.1.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.30.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.16.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.29.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.26.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.25.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.13.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.16.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.4.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.2.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.32.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.17.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.20.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.1.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.9.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.10.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.9.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.17.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.32.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.6.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.26.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.10.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.14.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.32.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.20.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.5.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.8.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.23.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.9.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.3.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.4.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.1.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.27.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.7.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.17.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.24.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.11.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.22.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.12.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.24.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.6.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.23.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.6.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.33.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.19.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.13.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.28.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.2.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.34.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.28.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.20.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.22.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.12.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.31.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.27.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.19.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.5.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.12.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.31.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.11.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.15.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.31.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.8.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.29.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.18.json',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.19.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.15.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.7.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.13.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.28.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.5.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.21.json.1',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.27.json.2',\n",
    " 'ta1-clearscope-2-e5-official-1.bin.30.json.2']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "from datetime import datetime, timezone\n",
    "import time\n",
    "import pytz\n",
    "from time import mktime\n",
    "from datetime import datetime\n",
    "import time\n",
    "def ns_time_to_datetime(ns):\n",
    "    \"\"\"\n",
    "    :param ns: int nano timestamp\n",
    "    :return: datetime   format: 2013-10-10 23:40:00.000000000\n",
    "    \"\"\"\n",
    "    dt = datetime.fromtimestamp(int(ns) // 1000000000)\n",
    "    s = dt.strftime('%Y-%m-%d %H:%M:%S')\n",
    "    s += '.' + str(int(int(ns) % 1000000000)).zfill(9)\n",
    "    return s\n",
    "\n",
    "def ns_time_to_datetime_US(ns):\n",
    "    \"\"\"\n",
    "    :param ns: int nano timestamp\n",
    "    :return: datetime   format: 2013-10-10 23:40:00.000000000\n",
    "    \"\"\"\n",
    "    tz = pytz.timezone('US/Eastern')\n",
    "    dt = pytz.datetime.datetime.fromtimestamp(int(ns) // 1000000000, tz)\n",
    "    s = dt.strftime('%Y-%m-%d %H:%M:%S')\n",
    "    s += '.' + str(int(int(ns) % 1000000000)).zfill(9)\n",
    "    return s\n",
    "\n",
    "def time_to_datetime_US(s):\n",
    "    \"\"\"\n",
    "    :param ns: int nano timestamp\n",
    "    :return: datetime   format: 2013-10-10 23:40:00\n",
    "    \"\"\"\n",
    "    tz = pytz.timezone('US/Eastern')\n",
    "    dt = pytz.datetime.datetime.fromtimestamp(int(s), tz)\n",
    "    s = dt.strftime('%Y-%m-%d %H:%M:%S')\n",
    "\n",
    "    return s\n",
    "\n",
    "def datetime_to_ns_time(date):\n",
    "    \"\"\"\n",
    "    :param date: str   format: %Y-%m-%d %H:%M:%S   e.g. 2013-10-10 23:40:00\n",
    "    :return: nano timestamp\n",
    "    \"\"\"\n",
    "    timeArray = time.strptime(date, \"%Y-%m-%d %H:%M:%S\")\n",
    "    timeStamp = int(time.mktime(timeArray))\n",
    "    timeStamp = timeStamp * 1000000000\n",
    "    return timeStamp\n",
    "\n",
    "def datetime_to_ns_time_US(date):\n",
    "    \"\"\"\n",
    "    :param date: str   format: %Y-%m-%d %H:%M:%S   e.g. 2013-10-10 23:40:00\n",
    "    :return: nano timestamp\n",
    "    \"\"\"\n",
    "    tz = pytz.timezone('US/Eastern')\n",
    "    timeArray = time.strptime(date, \"%Y-%m-%d %H:%M:%S\")\n",
    "    dt = datetime.fromtimestamp(mktime(timeArray))\n",
    "    timestamp = tz.localize(dt)\n",
    "    timestamp = timestamp.timestamp()\n",
    "    timeStamp = timestamp * 1000000000\n",
    "    return int(timeStamp)\n",
    "\n",
    "def datetime_to_timestamp_US(date):\n",
    "    \"\"\"\n",
    "    :param date: str   format: %Y-%m-%d %H:%M:%S   e.g. 2013-10-10 23:40:00\n",
    "    :return: nano timestamp\n",
    "    \"\"\"\n",
    "    tz = pytz.timezone('US/Eastern')\n",
    "    timeArray = time.strptime(date, \"%Y-%m-%d %H:%M:%S\")\n",
    "    dt = datetime.fromtimestamp(mktime(timeArray))\n",
    "    timestamp = tz.localize(dt)\n",
    "    timestamp = timestamp.timestamp()\n",
    "    timeStamp = timestamp\n",
    "    return int(timeStamp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Database setting (Make sure the database and tables are created)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import psycopg2\n",
    "\n",
    "from psycopg2 import extras as ex\n",
    "connect = psycopg2.connect(database = 'tc_e5_clearscope_dataset_db',\n",
    "                           host = '/var/run/postgresql/',\n",
    "                           user = 'postgres',\n",
    "                           password = 'postgres',\n",
    "                           port = '5432'\n",
    "                          )\n",
    "\n",
    "cur = connect.cursor()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Netflow"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████████| 103/103 [3:21:59<00:00, 117.66s/it]\n"
     ]
    }
   ],
   "source": [
    "netobjset=set()\n",
    "netobj2hash={}# \n",
    "datalist=[]\n",
    "for file in tqdm(filelist):\n",
    "        with open(filePath + file, \"r\") as f:\n",
    "            for line in f:\n",
    "#                 pass\n",
    "                if \"avro.cdm20.NetFlowObject\" in line:\n",
    "#                     print(line)\n",
    "                    try:\n",
    "                        res=re.findall('NetFlowObject\":{\"uuid\":\"(.*?)\"(.*?)\"localAddress\":{\"string\":\"(.*?)\"},\"localPort\":{\"int\":(.*?)},\"remoteAddress\":{\"string\":\"(.*?)\"},\"remotePort\":{\"int\":(.*?)}',line)[0]\n",
    "\n",
    "                        nodeid=res[0]\n",
    "                        srcaddr=res[2]\n",
    "                        srcport=res[3]\n",
    "                        dstaddr=res[4]\n",
    "                        dstport=res[5]\n",
    "\n",
    "                        nodeproperty=srcaddr+\",\"+srcport+\",\"+dstaddr+\",\"+dstport \n",
    "#                         nodeproperty=dstaddr+\",\"+dstport\n",
    "                        hashstr=stringtomd5(nodeproperty)\n",
    "                        netobj2hash[nodeid]=[hashstr,nodeproperty]\n",
    "                        netobj2hash[hashstr]=nodeid\n",
    "                        netobjset.add(hashstr)\n",
    "                    except:\n",
    "                            \n",
    "                        pass\n",
    "#                     print(match)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "datalist=[]\n",
    "for i in netobj2hash.keys():\n",
    "    if len(i)!=64:\n",
    "        datalist.append([i]+[netobj2hash[i][0]]+netobj2hash[i][1].split(\",\"))\n",
    "\n",
    "\n",
    "sql = '''insert into netflow_node_table\n",
    "                     values %s\n",
    "        '''\n",
    "ex.execute_values(cur,sql, datalist,page_size=10000)\n",
    "connect.commit() \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Process"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████████| 103/103 [3:21:58<00:00, 117.65s/it]\n"
     ]
    }
   ],
   "source": [
    "scusess_count=0\n",
    "fail_count=0\n",
    "subject_objset=set()\n",
    "subject_obj2hash={}# \n",
    "for file in tqdm(filelist):\n",
    "        with open(filePath + file, \"r\") as f:\n",
    "#             for line in tqdm(f): \n",
    "            for line in (f):\n",
    "                if \"schema.avro.cdm20.Subject\" in line:\n",
    "#                     print(line)\n",
    "                    subject_uuid=re.findall('avro.cdm20.Subject\":{\"uuid\":\"(.*?)\",(.*?)\"cmdLine\":{\"string\":\"(.*?)\"}',line)\n",
    "#                \n",
    "                    try:\n",
    "#                         (subject_uuid[0][-1])\n",
    "                        subject_obj2hash[subject_uuid[0][0]]=subject_uuid[0][-1]\n",
    "                        scusess_count+=1\n",
    "                    except:\n",
    "                        try:\n",
    "                            subject_obj2hash[subject_uuid[0][0]]=\"null\"\n",
    "                        except:\n",
    "                            pass\n",
    "#                             print(line)\n",
    "#                         print(line)                        \n",
    "                        fail_count+=1                        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "datalist=[]\n",
    "for i in subject_obj2hash.keys():\n",
    "    if len(i)!=64:\n",
    "        datalist.append([i]+[stringtomd5(subject_obj2hash[i]),subject_obj2hash[i]])\n",
    "        \n",
    "\n",
    "sql = '''insert into subject_node_table\n",
    "                     values %s\n",
    "        '''\n",
    "ex.execute_values(cur,sql, datalist,page_size=10000)\n",
    "connect.commit()  \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## File"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████████| 103/103 [3:21:59<00:00, 117.66s/it]\n"
     ]
    }
   ],
   "source": [
    "\n",
    "file_obj2hash={}\n",
    "for file in tqdm(filelist):\n",
    "        with open(filePath + file, \"r\") as f:\n",
    "            for line in f:\n",
    "                if \"avro.cdm20.FileObject\" in line:\n",
    "#                     print(line)\n",
    "                    \n",
    "                    Object_uuid=re.findall('cdm20.FileObject\":{\"uuid\":\"(.*?)\",(.*?){\"map\":{\"path\":\"(.*?)\"',line) \n",
    "#                     Object_uuid=re.findall('FileObject\":{\"uuid\":\"(.*?)\",',line) \n",
    "                    try:\n",
    "#                         file_node.add(Object_uuid[0])\n",
    "                        file_obj2hash[Object_uuid[0][0]]=Object_uuid[0][2]\n",
    "                    except:\n",
    "                        print(line)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "datalist=[]\n",
    "for i in file_obj2hash.keys():\n",
    "    if len(i)!=64 :\n",
    "        datalist.append([i]+[stringtomd5(file_obj2hash[i]),file_obj2hash[i]])\n",
    "\n",
    "sql = '''insert into file_node_table\n",
    "                     values %s\n",
    "        '''\n",
    "ex.execute_values(cur,sql, datalist,page_size=10000)\n",
    "connect.commit()  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Processing the event data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Generate the data for node2id table\n",
    "node_list={}\n",
    "##################################################################################################\n",
    "sql=\"\"\"\n",
    "select * from file_node_table;\n",
    "\"\"\"\n",
    "cur.execute(sql)\n",
    "records = cur.fetchall()\n",
    "\n",
    "for i in records:    \n",
    "    node_list[i[1]]=[\"file\",i[-1]]\n",
    "\n",
    "file_uuid2hash={}\n",
    "for i in records:\n",
    "    file_uuid2hash[i[0]]=i[1]\n",
    "##################################################################################################    \n",
    "sql=\"\"\"\n",
    "select * from subject_node_table;\n",
    "\"\"\"\n",
    "cur.execute(sql)\n",
    "records = cur.fetchall()\n",
    "\n",
    "for i in records:\n",
    "    node_list[i[1]]=[\"subject\",i[-1]]\n",
    "\n",
    "subject_uuid2hash={}\n",
    "for i in records:\n",
    "    subject_uuid2hash[i[0]]=i[1]\n",
    "##################################################################################################\n",
    "sql=\"\"\"\n",
    "select * from netflow_node_table;\n",
    "\"\"\"\n",
    "cur.execute(sql)\n",
    "records = cur.fetchall()\n",
    "\n",
    "for i in records:\n",
    "    \n",
    "    node_list[i[1]]=[\"netflow\",i[-2]+\":\"+i[-1]]\n",
    "\n",
    "net_uuid2hash={}\n",
    "for i in records:\n",
    "    net_uuid2hash[i[0]]=i[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "node_list_database=[]\n",
    "node_index=0\n",
    "for i in node_list:\n",
    "    node_list_database.append([i]+node_list[i]+[node_index])\n",
    "    node_index+=1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "sql = '''insert into node2id\n",
    "                     values %s\n",
    "        '''\n",
    "ex.execute_values(cur,sql, node_list_database,page_size=10000)\n",
    "connect.commit()  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Constructing the map for nodeid to msg\n",
    "sql=\"select * from node2id ORDER BY index_id;\"\n",
    "cur.execute(sql)\n",
    "rows = cur.fetchall()\n",
    "\n",
    "nodeid2msg={}  # nodeid => msg and node hash => nodeid\n",
    "for i in rows:\n",
    "    nodeid2msg[i[0]]=i[-1]\n",
    "    nodeid2msg[i[-1]]={i[1]:i[2]}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'99a82fd3b129375f4411f79d7b6ea997fb6b8955779c0065af9a99277c72637d': 0,\n",
       " 0: {'file': '/sys/fs/selinux'},\n",
       " '3d19003716223f11b8d780fe603aedbca1c988df0eef86138a6e3e85cee387f9': 1,\n",
       " 1: {'file': '/dev/pmsg0'},\n",
       " '5063c363d891189071722e8e807fdc966f32fa198a89b68394e5fab88c668709': 2,\n",
       " 2: {'file': '/dev/__properties__/u:object_r:logd_prop:s0'},\n",
       " '7146afdcdda2626661fd64484616253546b2a10a8948679ab40280174517c948': 3,\n",
       " 3: {'file': '/dev/__properties__/u:object_r:log_tag_prop:s0'},\n",
       " 'f9e71199705572348b227f3244153ee10d36c4271936fbb32265b60edfc73723': 4,\n",
       " 4: {'file': '/dev/__properties__/u:object_r:system_prop:s0'},\n",
       " '71a22be588773ce1c2fbcd600112dad0f2724c96bc8270d774f5deeb60e4895b': 5,\n",
       " 5: {'file': '/system/lib64/libart.so'},\n",
       " '5344ac5f5ba31765b16495914945c020107273746ddd577f0b5ef24d584d1f04': 6,\n",
       " 6: {'file': '/system/lib64/liblz4.so'},\n",
       " '39db3d5675ce4ceb82a3f0dcde5b4eefdcb2557838c8563ce2bc9c3a40d8dc95': 7,\n",
       " 7: {'file': '/system/lib64/libtombstoned_client.so'},\n",
       " '8ee3ecefb4519f37bc48f706e55cd7b4bb2774f062beab258909810d2bab303d': 8,\n",
       " 8: {'file': '/system/lib64/libinst.so'},\n",
       " '3ed29059e8004a2f8c6f2f5eade8294cd8d4618145a3f08490afce9c18d3212a': 9,\n",
       " 9: {'file': '/system/lib64/libsigchain.so'},\n",
       " 'e519d7c3ddaa2c878a9c5632381c00a8fb09ff40d2d3f5e10ddd88aa8a98435d': 10,\n",
       " 10: {'file': '/dev/__properties__/u:object_r:dalvik_prop:s0'},\n",
       " '100092fa37fc297a24a8917b403028adaa6b100575753a8c290e293bd60e87d7': 11,\n",
       " 11: {'file': '/dev/__properties__/u:object_r:config_prop:s0'},\n",
       " '42080c29d623ae1be8f15523326c137020017d7da4de1704709ae3a6cb9f8b76': 12,\n",
       " 12: {'file': '/dev/__properties__/u:object_r:vold_prop:s0'},\n",
       " '88b5912ded34849bc891a698aa63d995a02a0845df3af3063917dbd1a6eac0dd': 13,\n",
       " 13: {'file': '/system/etc/preloaded-classes'},\n",
       " 'ba14811cb70ad337f9fa751601d3c9a2e5bc24b8e95c2179fe80c7b3d4680da0': 14,\n",
       " 14: {'file': '/system/etc/compiled-classes'},\n",
       " '18e14804a595fffcd4af755007c162e995886896ab59201b6ab9aa31c8f1d424': 15,\n",
       " 15: {'file': '/system/etc/dirty-image-objects'},\n",
       " '6673aafb940204dd90ea622ec0c72596d614c43df2902fdbc661aec402191488': 16,\n",
       " 16: {'file': '/dev/__properties__/u:object_r:debug_prop:s0'},\n",
       " 'abb88895732bb92df9d6558a9e2d339b595b4c6da375a5f233c7299283371304': 17,\n",
       " 17: {'file': '/dev/__properties__/u:object_r:fingerprint_prop:s0'},\n",
       " '03ca3bcd00e9137d679f87244dbd183b7edb5cdc3428837cb6577a17ec7df087': 18,\n",
       " 18: {'file': '/sys/kernel/debug/tracing/trace_marker'},\n",
       " '3ad3b1d0ff0cf4be214aaee241e47e4b3e1b1d6e9f974937773df38432c576c5': 19,\n",
       " 19: {'file': '/proc/32427/cmdline'},\n",
       " 'a5151a02fc31c4ddd796ce896e7449f2f336f86533760b866c5aa998ddbae103': 20,\n",
       " 20: {'file': '/system'},\n",
       " '505301e6ff483b973f77c634256389ad648db1f6e1f9287377f65c4fbec3f6c7': 21,\n",
       " 21: {'file': '/dev/ashmem'},\n",
       " '19e778970fd56c447d37baae2363aa2c17a6d33941497bcfe14bc208eb4915f4': 22,\n",
       " 22: {'file': '/system/framework/arm64/boot.art'},\n",
       " 'bd47413b5c03dfc6e4b5b8143fe205eae10ecaf0c28b426be98d74cff48c7453': 23,\n",
       " 23: {'file': '/data'},\n",
       " '11d5944b38c51632420ce36d596e022c3fba8ec2f12085e303c04b3b008c1718': 24,\n",
       " 24: {'file': '/data/dalvik-cache/arm64'},\n",
       " '66dabafd2a5632363f108304eb7c8429aa886c63c5ff292707068a94034968ba': 25,\n",
       " 25: {'file': '/data/dalvik-cache/arm64/system@framework@boot.art'},\n",
       " 'bee637b862ea7b2551196f13a48d72b46ce4471f3f5745de9ca36d7b6f77686f': 26,\n",
       " 26: {'file': '/system/framework/arm64/boot.vdex'},\n",
       " 'bac506345ae2800c41f5780441877fb071a855d3b898ce58313745237038c37c': 27,\n",
       " 27: {'file': '/system/framework/arm64/boot.oat'},\n",
       " '254123cc3209600ce7270d4b87a0ccd90d9153cd83bafef3f103fda2615c9cd9': 28,\n",
       " 28: {'file': '/data/dalvik-cache'},\n",
       " '26430729ba422ecbd293be8004941b4b063b1b32cb2017ff0a74f83dd5f0962d': 29,\n",
       " 29: {'file': '/system/framework'},\n",
       " '687fcb01dad51f993ce4b0f5875076a2d48d1e04332a26e16e29612ac850a9f9': 30,\n",
       " 30: {'file': '/system/framework/arm64'},\n",
       " '96029989d7ae5d59fbe0afb4ed8c91e306a11e65796be7bac5ab4b2b607898d7': 31,\n",
       " 31: {'file': '/system/framework/core-oj.jar'},\n",
       " '64d919b6149847bfa3f6ec32ad151285c9169f030c62a9aaad9c6f5f306f545f': 32,\n",
       " 32: {'file': '/system/framework/arm64/boot-core-libart.art'},\n",
       " 'a929eec69e9106d02872960546a4f8bbf513cbdc61a5b6a93624e9bfd4725025': 33,\n",
       " 33: {'file': '/data/dalvik-cache/arm64/system@framework@boot-core-libart.art'},\n",
       " 'df5e1f2486b1df0567c74d7d4a45d0286a8f9dc4d117dfaf70aa6471d6e01dc1': 34,\n",
       " 34: {'file': '/system/framework/arm64/boot-core-libart.vdex'},\n",
       " 'f6b698c7f3beccfefb6c79e1dd1fbf5a1829a92017a008108f3e22bc86661358': 35,\n",
       " 35: {'file': '/system/framework/arm64/boot-core-libart.oat'},\n",
       " '9b0fcc58b6b949eb8f833807d0ac9cda73e32081b088ff55ed9e2eff4caf3a6a': 36,\n",
       " 36: {'file': '/system/framework/core-libart.jar'},\n",
       " '4d3591f6cff9fa4141f7dc33fa8e831bb05c789e6c623f8386331613b5dd6c0b': 37,\n",
       " 37: {'file': '/system/framework/arm64/boot-libprotobuf-java-nano-boot.art'},\n",
       " '68baa9d15acca413e916f0fc9fd9f364dc89db028f424ca5c4d2a0df356c06bd': 38,\n",
       " 38: {'file': '/data/dalvik-cache/arm64/system@framework@boot-libprotobuf-java-nano-boot.art'},\n",
       " '6bceafce8ca50883d794767e9a94400ab716be06dbf6a5dd03493ce7b44a9883': 39,\n",
       " 39: {'file': '/system/framework/arm64/boot-libprotobuf-java-nano-boot.vdex'},\n",
       " 'f59e8394f261e3ddd1b2efb88ae57337eded601a2e43c477207e0ac960ac6605': 40,\n",
       " 40: {'file': '/system/framework/arm64/boot-libprotobuf-java-nano-boot.oat'},\n",
       " 'b48d14ada620246b9c1330f9e07a6406c40fdd49c24297563c455cbe3c51f26a': 41,\n",
       " 41: {'file': '/system/framework/libprotobuf-java-nano-boot.jar'},\n",
       " 'ed65b6f468d009092cff9cc69c8c4ab561616bc56654c9e070d04a8db0bb510f': 42,\n",
       " 42: {'file': '/system/framework/arm64/boot-conscrypt.art'},\n",
       " 'bb47c9e7a36cf1a044deb5b4b30fc9146f32925c3f8dc713ba0b27e51129159d': 43,\n",
       " 43: {'file': '/data/dalvik-cache/arm64/system@framework@boot-conscrypt.art'},\n",
       " 'd7a8e9187d6a84c5b12328f62b4244ece456dc5148e46312c9c5607964e375f3': 44,\n",
       " 44: {'file': '/system/framework/arm64/boot-conscrypt.vdex'},\n",
       " 'ef4bfc1273c5867b7a9ab2334ddc3835b4dd406def9e904fd8340971bc2b49c3': 45,\n",
       " 45: {'file': '/system/framework/arm64/boot-conscrypt.oat'},\n",
       " '3026d8af6a579823d40a1034e2d6013f1c8d33415a897cb5c8cb14db709ac07c': 46,\n",
       " 46: {'file': '/system/framework/conscrypt.jar'},\n",
       " 'a4d29130896f54f0fb49a22e28b9e9177e00001e75769442e102b4411bfefe93': 47,\n",
       " 47: {'file': '/system/framework/arm64/boot-okhttp.art'},\n",
       " '064b31c8433b89826f0dfb2ad992fdbe291fedfa90e2cce0f4f1361aeff49a75': 48,\n",
       " 48: {'file': '/data/dalvik-cache/arm64/system@framework@boot-okhttp.art'},\n",
       " '9a1a11083e3ab58a0a2f89f6c8526b77c30c2d3d53f94928d5830a2a3c044639': 49,\n",
       " 49: {'file': '/system/framework/arm64/boot-okhttp.vdex'},\n",
       " 'f298aafc7c9881ce6db65d69d602b63a080c1fdec8e658d6195b40d828e14173': 50,\n",
       " 50: {'file': '/system/framework/arm64/boot-okhttp.oat'},\n",
       " '09244463912de869e00874deff318ebeb504bd4ebfedee7aa240ff825d039416': 51,\n",
       " 51: {'file': '/system/framework/okhttp.jar'},\n",
       " '9a75758ace6b8a8355cf84c3d8ab81377e414848bf679536bf91ead7c0dcc310': 52,\n",
       " 52: {'file': '/system/framework/arm64/boot-bouncycastle.art'},\n",
       " '82d01336f3accf4c01177d3d98cb7e5d0683442cbb364d6acd75acdbaac46124': 53,\n",
       " 53: {'file': '/data/dalvik-cache/arm64/system@framework@boot-bouncycastle.art'},\n",
       " 'c09b994dfe4faaf3058c9944ef9a47c2f7d3fcf78670ed45c7844de244183781': 54,\n",
       " 54: {'file': '/system/framework/arm64/boot-bouncycastle.vdex'},\n",
       " 'f2f3d54d76904de0c6c11fb742b5359e105ce96b4f52bb54057c522f84818bf1': 55,\n",
       " 55: {'file': '/system/framework/arm64/boot-bouncycastle.oat'},\n",
       " 'a4ae813e8b98a39573d34809af7016cdee63c8d8c0ee4d04e666ca25e796689e': 56,\n",
       " 56: {'file': '/system/framework/bouncycastle.jar'},\n",
       " '9751f5c8e935dbbe51e8975546d4df85624988be510b7f8e660b5752e3c7d959': 57,\n",
       " 57: {'file': '/system/framework/arm64/boot-apache-xml.art'},\n",
       " 'fbb164ea6e14a23246dcd23a69f02a3979123b800ee75fbe1b3ab71f68c2bc18': 58,\n",
       " 58: {'file': '/data/dalvik-cache/arm64/system@framework@boot-apache-xml.art'},\n",
       " '5cc93e9a5b88b5ada240ea175d21a1c06df90f1f5f00282043c12cff3d84b231': 59,\n",
       " 59: {'file': '/system/framework/arm64/boot-apache-xml.vdex'},\n",
       " 'e11b6eddf7f37ae6cbcff7a85f98592526ae1f97b9496a5472bc72875e3ae597': 60,\n",
       " 60: {'file': '/system/framework/arm64/boot-apache-xml.oat'},\n",
       " 'e6ae766a37349b8cafe79736c99732f711cb90a21c2f745403d4582df0405ebd': 61,\n",
       " 61: {'file': '/system/framework/apache-xml.jar'},\n",
       " 'ee4170f6ee3c79d0fca2d19385c472529dc8df172e7b0472ee21a2d65ec93a1b': 62,\n",
       " 62: {'file': '/system/framework/arm64/boot-legacy-test.art'},\n",
       " 'c8df8c877e071eb4e539aaee6fcbb5f5b28cc3b0b7bd7f0bf681dbb1d6a9077b': 63,\n",
       " 63: {'file': '/data/dalvik-cache/arm64/system@framework@boot-legacy-test.art'},\n",
       " '2cb340d226f8110d83a072a950ca9a71cfb0ab2a3f59cb3450d5c0727b127479': 64,\n",
       " 64: {'file': '/system/framework/arm64/boot-legacy-test.vdex'},\n",
       " 'e536e71e28d53787b6d0dff1fbdf8622042231e086b5b6723c326d22c14e1d9f': 65,\n",
       " 65: {'file': '/system/framework/arm64/boot-legacy-test.oat'},\n",
       " 'dab0bc24658f80dfda57d8d6ebdd01ebb1676adb9d4c8fbd62bd81187aad9f58': 66,\n",
       " 66: {'file': '/system/framework/legacy-test.jar'},\n",
       " '82c6942527f758d5517db909a2844b815c4397025d38c94a2efbd3237da9cb78': 67,\n",
       " 67: {'file': '/system/framework/arm64/boot-ext.art'},\n",
       " 'a1669525a0688f25cab7816ea41a9588f324797f30728fc7e1ef2a01d373d3be': 68,\n",
       " 68: {'file': '/data/dalvik-cache/arm64/system@framework@boot-ext.art'},\n",
       " 'fdb285099379806fd00a9b52696f0c00a7fde57172eca0d0fdd0f262b6c78849': 69,\n",
       " 69: {'file': '/system/framework/arm64/boot-ext.vdex'},\n",
       " 'f34f8978846488e08cfded764cff8734bdf49cea57dd8bf27ef0523eae194dda': 70,\n",
       " 70: {'file': '/system/framework/arm64/boot-ext.oat'},\n",
       " '8cd959cf06d91c2d73fe25d42c75f5a12fca4c75ccf0434ae1612756a785e6f0': 71,\n",
       " 71: {'file': '/system/framework/ext.jar'},\n",
       " 'f04ba92b2e45ad71ef489526b7802e0a083dbabcad798555c1f1dd66a214905a': 72,\n",
       " 72: {'file': '/system/framework/arm64/boot-framework.art'},\n",
       " '9c6628b87ca7c92129aaef6b35d7e1c2d039ac05135fa578cc1b0a02aaea232a': 73,\n",
       " 73: {'file': '/data/dalvik-cache/arm64/system@framework@boot-framework.art'},\n",
       " 'c391e7f8002e04dd5fb9ba0822edbcfa0fc34b2660d6db2dc27f6837e7590209': 74,\n",
       " 74: {'file': '/system/framework/arm64/boot-framework.vdex'},\n",
       " 'da5fb88fcfc3554a889cc07a45da39592132b381da2c412cceaad42e1a9c5602': 75,\n",
       " 75: {'file': '/system/framework/arm64/boot-framework.oat'},\n",
       " 'e77f4b76c547f9e42ceaeadea2545ee6a70aefafe01029c72cf3ee3b74e09d95': 76,\n",
       " 76: {'file': '/system/framework/framework.jar'},\n",
       " 'acb387d1bc1e8031b9a074716799d6613087fd1bc6186c4e701dd054cb338368': 77,\n",
       " 77: {'file': '/system/framework/arm64/boot-telephony-common.art'},\n",
       " '0336efd1ac4e8073676dd198d8fddf4340084ff9cb7efe03666cc7a63cf1a634': 78,\n",
       " 78: {'file': '/data/dalvik-cache/arm64/system@framework@boot-telephony-common.art'},\n",
       " '971eb59172746eca5565e860f163b3ff8d3addf39e0b2c7c9e1d487ce8eb7be6': 79,\n",
       " 79: {'file': '/system/framework/arm64/boot-telephony-common.vdex'},\n",
       " '5c5fa4d412e4c30b88b181bc58bb51132cb2861e4c0050526041091a1bcab551': 80,\n",
       " 80: {'file': '/system/framework/arm64/boot-telephony-common.oat'},\n",
       " 'c69e9fbadce5afac172d4ac7ae46386ac005fb7d0e848a180823c706f7018ef4': 81,\n",
       " 81: {'file': '/system/framework/telephony-common.jar'},\n",
       " '39fe0a18ffe7923948840fc351a22393a20489f85cc5826275522347e151b0dd': 82,\n",
       " 82: {'file': '/system/framework/arm64/boot-voip-common.art'},\n",
       " '088b42d4e3fdf27034b01b47d69e2bdadc79216bdba29ce0cd456d18ba5eb47d': 83,\n",
       " 83: {'file': '/data/dalvik-cache/arm64/system@framework@boot-voip-common.art'},\n",
       " '5e1a76ce34bb7b3d78c0dd91d62bf23299f048e00c3e826edd9b228f2b149375': 84,\n",
       " 84: {'file': '/system/framework/arm64/boot-voip-common.vdex'},\n",
       " 'ca9ec6a9f8632abc11a3620e9222e90bad141338bf480d112696cec2919fd189': 85,\n",
       " 85: {'file': '/system/framework/arm64/boot-voip-common.oat'},\n",
       " '4d27ba0564a497375b94889803582ad742883738bc6df9c408fbe32c24e320e7': 86,\n",
       " 86: {'file': '/system/framework/voip-common.jar'},\n",
       " 'dc55798217062b4c1bf1757885f77120512f5de6c13e4e58b60ae046fba28ca2': 87,\n",
       " 87: {'file': '/system/framework/arm64/boot-ims-common.art'},\n",
       " '791d056414b4c533403fe2e01336f72150be2825fb21111cab1dc0656a13bf63': 88,\n",
       " 88: {'file': '/data/dalvik-cache/arm64/system@framework@boot-ims-common.art'},\n",
       " '052aebba4dccc47150e04bd7b270439690108b43a31556168482ef3c4117c3ca': 89,\n",
       " 89: {'file': '/system/framework/arm64/boot-ims-common.vdex'},\n",
       " '49f5644a9ff321f3993332e576b8b25efc8f41a5dfdaf3229ea260f353a6015f': 90,\n",
       " 90: {'file': '/system/framework/arm64/boot-ims-common.oat'},\n",
       " 'e181d4a8c6fafcc504597270f357b7277635755212c29412e24b9f3dda1e1f7c': 91,\n",
       " 91: {'file': '/system/framework/ims-common.jar'},\n",
       " 'f8d96e7a455d66e9fbd8c394ab44a6699b08f44ba39e5b4fe187545dcc1c18d1': 92,\n",
       " 92: {'file': '/system/framework/arm64/boot-org.apache.http.legacy.boot.art'},\n",
       " 'f314ca1513bc7100c2ae21dd4a64078f4039a7dcc1e8b46935ec454e2929e784': 93,\n",
       " 93: {'file': '/data/dalvik-cache/arm64/system@framework@boot-org.apache.http.legacy.boot.art'},\n",
       " '3ce9ec46c670a95ac098e684a5d0d2f1a15eef42a1fefa8256c5e0a8e7b9d682': 94,\n",
       " 94: {'file': '/system/framework/arm64/boot-org.apache.http.legacy.boot.vdex'},\n",
       " '664179eafe55f4cc45ea7b9ecfd1a90c730bc658afbc988b8a27219fa1d24912': 95,\n",
       " 95: {'file': '/system/framework/arm64/boot-org.apache.http.legacy.boot.oat'},\n",
       " 'f96c3e54fa7f2c231401e6c806cbc47bdc7d81ebc7225ea30337081deaa0d80a': 96,\n",
       " 96: {'file': '/system/framework/org.apache.http.legacy.boot.jar'},\n",
       " 'e27665e8ec30789c6098a0dc59bca612fb939008be5e4080886bd9a7d1d7b09c': 97,\n",
       " 97: {'file': '/system/framework/arm64/boot-android.hidl.base-V1.0-java.art'},\n",
       " '96a94b92bfb73250a62fee1e71d8862080ea00413b693e9b5b0e232c189bbab5': 98,\n",
       " 98: {'file': '/data/dalvik-cache/arm64/system@framework@boot-android.hidl.base-V1.0-java.art'},\n",
       " '403e71157045a27c054e8bbfa88aee65b7ff21740bbd9fa6f13da7df603fa09c': 99,\n",
       " 99: {'file': '/system/framework/arm64/boot-android.hidl.base-V1.0-java.vdex'},\n",
       " '568847437cf08239f5dd3d336971906da0fa023eda30fe4e1c921099ec9056c8': 100,\n",
       " 100: {'file': '/system/framework/arm64/boot-android.hidl.base-V1.0-java.oat'},\n",
       " 'e39e37b9ec523f0d31bc4b5492754192f1f546cba312ab41fee3eb0c7212ee27': 101,\n",
       " 101: {'file': '/system/framework/android.hidl.base-V1.0-java.jar'},\n",
       " '96ee34580ea859f7ab08dd4cfa0c98e811fd6ee17b4936a6038119aa1eacac66': 102,\n",
       " 102: {'file': '/system/framework/arm64/boot-android.hidl.manager-V1.0-java.art'},\n",
       " '42cf8d60f168a46edf88bdf91cf681c11c134a021768c1cb3e4ce0dc1d79e758': 103,\n",
       " 103: {'file': '/data/dalvik-cache/arm64/system@framework@boot-android.hidl.manager-V1.0-java.art'},\n",
       " '9de6054afca735a174009e0bee58b560969c858a5c95dffbf86cc7e0b0667abd': 104,\n",
       " 104: {'file': '/system/framework/arm64/boot-android.hidl.manager-V1.0-java.vdex'},\n",
       " '397c67116557eaac2008ef04bfb579ee2a68779d320e6a47df5899d9b0dd6336': 105,\n",
       " 105: {'file': '/system/framework/arm64/boot-android.hidl.manager-V1.0-java.oat'},\n",
       " '05fc4b82173f66ff8f45d95a98fef8dacdad6cd6370a327f9d632dad6e030073': 106,\n",
       " 106: {'file': '/system/framework/android.hidl.manager-V1.0-java.jar'},\n",
       " '45608ab44ad7bae50a5168cd20b8543114e6015038374ef4a9f76c6027e6f7d7': 107,\n",
       " 107: {'file': '/proc/32427/stat'},\n",
       " 'c39be245a08fe3fc3b2e3bcd851ff75501c741ddfc631cc043ecab2391ec8702': 108,\n",
       " 108: {'file': '/proc/32427/maps'},\n",
       " '0e596815536bc08498cc9fff2a6dc35272559ced5672217bf9e84669ca699086': 109,\n",
       " 109: {'file': '/system/etc/public.libraries.txt'},\n",
       " '929f77907a20e9ac9decdca0caf1f5265ed92f42777b3277c9ec2fd74806e0d6': 110,\n",
       " 110: {'file': '/system/lib64/libandroid.so'},\n",
       " '24fe6dd44a97ab91cc99e74a18712341726d8b0331b91bba5e1af24266619596': 111,\n",
       " 111: {'file': '/system/lib64/libaaudio.so'},\n",
       " 'e28e104743870889b920f359f202d461f3f4de83a201b042145f04e39447441a': 112,\n",
       " 112: {'file': '/system/lib64/libcamera2ndk.so'},\n",
       " 'a48931a7524f289d2e178b613797f82eb4b92762fc6735d0dcd57a8fc9ce14cb': 113,\n",
       " 113: {'file': '/system/lib64/libmediandk.so'},\n",
       " '885791a68636c1a45e8c619a7a847ea4c373f585be26e13fafa820412dc3061d': 114,\n",
       " 114: {'file': '/system/lib64/libmedia_jni.so'},\n",
       " '706b1c3c3a713bfd31558738fcdc07d2c4e1fd2a1db9c06e1eff224b949d0b1a': 115,\n",
       " 115: {'file': '/system/lib64/libmidi.so'},\n",
       " 'f6eb855990ee1691f67bb159c766917eecd1b14d9ca9b97f47588ade0b215842': 116,\n",
       " 116: {'file': '/system/lib64/libmtp.so'},\n",
       " 'a529922eef4daa5be3bce93b5fc7871447af5b994457faa1803899a1b8371159': 117,\n",
       " 117: {'file': '/system/lib64/libexif.so'},\n",
       " '581adfb8f6496344f2b0a15e720b485f9921b3520653bb6651ebe87a685d29bd': 118,\n",
       " 118: {'file': '/system/lib64/libGLESv3.so'},\n",
       " '9bc7758350c928823f4cfdfad9e3a4f3a7826ac9bf98a643f7f97fe3cb57f550': 119,\n",
       " 119: {'file': '/system/lib64/libjnigraphics.so'},\n",
       " 'c983deff8e7c031243128ff3f3cfc81387bb4fe48a851cd3dca5d46ea5abad78': 120,\n",
       " 120: {'file': '/system/lib64/libneuralnetworks.so'},\n",
       " '2b3d01a3092c7d51ab46a8c13751086019474fe81a7238b673ca1fafcf5ec2f3': 121,\n",
       " 121: {'file': '/system/lib64/libtextclassifier_hash.so'},\n",
       " '9060a3b1b781fa06542b61e9102d7de580cc3b3c8ce18f667f4717b62c68282f': 122,\n",
       " 122: {'file': '/system/lib64/android.hardware.neuralnetworks@1.0.so'},\n",
       " '39a8c37656ca493955bce85fa234aa6f0f3689cfacc534de68a78a04d392a823': 123,\n",
       " 123: {'file': '/system/lib64/libOpenMAXAL.so'},\n",
       " 'faaefbc722e310faa830b4de3971473e7e490df499971ded16d889423c81c63a': 124,\n",
       " 124: {'file': '/system/lib64/libOpenSLES.so'},\n",
       " '0c5e8d77e95388ac97089797cb04bec095d2722d9ba9b178b529c68cd6caa990': 125,\n",
       " 125: {'file': '/system/lib64/libRS.so'},\n",
       " 'a44a9e3e6ae908792e913a83f5d62d76d94fc9714bf20085557dc1bfc3b83e53': 126,\n",
       " 126: {'file': '/system/lib64/android.hardware.renderscript@1.0.so'},\n",
       " 'e143b6f397d50302f1fce0662bb44fd133db6ad13bef7509a6ed117e6c147e9f': 127,\n",
       " 127: {'file': '/system/lib64/libwebviewchromium_plat_support.so'},\n",
       " '50233b43ef80f24c7b8ab4c9d4de7b4a56a76256d36ac72067a85070d1d26aa2': 128,\n",
       " 128: {'file': '/system/etc/llndk.libraries.txt'},\n",
       " 'cfebfbc8bb03b8c9c485791f0200689ac3d9ae0d2feb88d25f8fa79a7b8765b5': 129,\n",
       " 129: {'file': '/system/etc/vndksp.libraries.txt'},\n",
       " 'd2110af0faa7cd14a677ab6d0727172450a6146166eaaf1791c39d36617b5896': 130,\n",
       " 130: {'file': '/vendor/etc/public.libraries.txt'},\n",
       " '5730eb7a0c6bff05edfec8326ed53573dd74ccc94bf6917c8e56380001308979': 131,\n",
       " 131: {'file': '/system/lib64/libjavacore.so'},\n",
       " 'd0af538ed567d3ec9142f33ac97b601ab386e233a6bef1f0f3c7052f2f65d545': 132,\n",
       " 132: {'file': '/system/usr/icu/icudt58l.dat'},\n",
       " '69593387cfea9a846868c4fa8933bae3faf7ba2824dda751fcbff349ea12824a': 133,\n",
       " 133: {'file': '/system/lib64/libopenjdk.so'},\n",
       " '5b593440ef9fdc2d09873d7babaafbad56e755b6bb7cad2139121245cb83fba8': 134,\n",
       " 134: {'file': '/system/lib64/libssl.so'},\n",
       " 'b34b57a5aea3a7af0f5e7202543c23bde8e6def9750138eabed065a8859cf81d': 135,\n",
       " 135: {'file': '/system/lib64/libopenjdkjvm.so'},\n",
       " '60bc53ccc5a3fe415b906c8364b490e605a1aaa46e40f872c7028fc549044016': 136,\n",
       " 136: {'file': '/system/lib64/libart-compiler.so'},\n",
       " '7e02857976465cdca695287393abcace92a3a3108d5fd30347dcfdfd3cfba080': 137,\n",
       " 137: {'file': '/system/lib64/libart-dexlayout.so'},\n",
       " 'b7c4b067dbded25e944240b66201eb0f569b4df4237992bd0596eb23d997ee6c': 138,\n",
       " 138: {'file': '/system/lib64/libvixl-arm.so'},\n",
       " 'ebc90a8aba6605503202d7982fb0ae5219c767e7ed7944caea1760a67a46c1bc': 139,\n",
       " 139: {'file': '/system/lib64/libvixl-arm64.so'},\n",
       " '86b0fc1f8903c48f0d88c549914f1435bf86044cf9c814870ad15927aaee681b': 140,\n",
       " 140: {'file': '/dev/__properties__/u:object_r:radio_prop:s0'},\n",
       " '88b478b35c10dea2575ad87731a65bec90813caa29e73992ef8a9c1355a94bf4': 141,\n",
       " 141: {'file': '/dev/cpuset/tasks'},\n",
       " '5266a50a5ec7b2de60567befb3352207ae93546bb36e08819e1245becdefc168': 142,\n",
       " 142: {'file': '/dev/cpuset/foreground/tasks'},\n",
       " 'ce26b0102e51da95ea726c83a85d5c5c2edb5d0b8218d2e344adf4b442be809f': 143,\n",
       " 143: {'file': '/dev/cpuset/background/tasks'},\n",
       " '0e82a43482b4d81708061a27204b0e87be358f01891941ab70ef738ce71fca87': 144,\n",
       " 144: {'file': '/dev/cpuset/system-background/tasks'},\n",
       " 'ec579c77f84e0de189afc70db148c23323477d3de83b0d2dc42cf3093834e3c2': 145,\n",
       " 145: {'file': '/dev/cpuset/top-app/tasks'},\n",
       " 'ec09f9906fc9e851e3663271b4a1f080683e9c06419a529373a2125738c5bf75': 146,\n",
       " 146: {'file': '/dev/stune/tasks'},\n",
       " 'fdc59fbf9efd4f92a20b18e4e5920a839f86f1a3f36a7622bfdb47d1825ca0bd': 147,\n",
       " 147: {'file': '/dev/stune/top-app/tasks'},\n",
       " 'c0b85879b4f385bce86c6d3a4dca46c39a4fd8e3f1d9d5eb2d40771c3ec702b4': 148,\n",
       " 148: {'file': '/dev/stune/foreground/tasks'},\n",
       " '82b479d0ff54d49022a78838c501d55a851ede8f7af84d076bf7c788cb92467f': 149,\n",
       " 149: {'file': '/dev/stune/background/tasks'},\n",
       " '52da57ebc96ebd93f43947f86277ca565d7eb0361effd4f15bc224c0d7e07b55': 150,\n",
       " 150: {'file': '/dev/stune/rt/tasks'},\n",
       " 'cb471d49afc5612486b6374b00fdb395e78207d285b3638a79f4409586d1bf1a': 151,\n",
       " 151: {'file': '/proc/32427/timerslack_ns'},\n",
       " '2cbbfda244829c0939aa11457c30aa744ffcc504877672be76a84910a96aa972': 152,\n",
       " 152: {'file': '/proc/32436/timerslack_ns'},\n",
       " '303a7bf3b5c45911c25663557c685b53b3f69943a64d70138f64637213ba7ff1': 153,\n",
       " 153: {'file': '/proc/32437/timerslack_ns'},\n",
       " '17602b51b1bb14cdf1be81ebec00ae79c9629f06edf223ae44af46abd7f8bbcd': 154,\n",
       " 154: {'file': '/proc/31872/stat'},\n",
       " '2bf50cbbe4d405b27597378bf4ab5631ac1db555f036d237d599acfd88104404': 155,\n",
       " 155: {'file': '/proc/31872/cmdline'},\n",
       " 'ed8273ae731cccd5946275d0bc3a3d0f769c8fc2326d32db8cf32fa7b86e1dd1': 156,\n",
       " 156: {'file': '/proc/32028/stat'},\n",
       " '7ee9ba0338a0268f39ba0bcee10432ccb72d2ef43962355d1c3dfd64ba5807b5': 157,\n",
       " 157: {'file': '/proc/32028/cmdline'},\n",
       " '60ec157078add7de466791ff1cfd78e6c9a37983ada1583e72b8d0aad94a5fd6': 158,\n",
       " 158: {'file': '/proc/32090/stat'},\n",
       " '7888db95f3c39fa3c503f7350d04f718e989d630a0ad337cb05eab44ed3efcc4': 159,\n",
       " 159: {'file': '/proc/32090/cmdline'},\n",
       " '28cc0958fd2d1ae6afd0770af2657ec9c836ffe98ac0489fb360bde8c42da77d': 160,\n",
       " 160: {'file': '/proc/32239/stat'},\n",
       " 'b506f78ff2d3a17652ace0bf79b9d9fa98506ac67a60016d4ea4a780b24c8676': 161,\n",
       " 161: {'file': '/proc/32239/cmdline'},\n",
       " '7e5f78f8ea7b3a0d5b74c5a36a389a6346a2b7caa17630b8188d4b4fb2171947': 162,\n",
       " 162: {'file': '/proc/32321/stat'},\n",
       " '1d061df4922de5a41b7a323433167e0506d1fbcd81ec62e1b533eafe63ce238a': 163,\n",
       " 163: {'file': '/proc/32321/cmdline'},\n",
       " '99c0c727140a40c96014839251bd0c16222635db520146af35610a4cfecc5e3a': 164,\n",
       " 164: {'file': '/proc/32325/stat'},\n",
       " '0de8e7371873ff49245f66f6ff3a28dc87422aabf6c11da13ee542f2faa8f0a7': 165,\n",
       " 165: {'file': '/proc/32325/cmdline'},\n",
       " 'ae88f027b33b579846d946300e7df89d483390e76bf0785591aef889df0cf8b3': 166,\n",
       " 166: {'file': '/proc/32441/cmdline'},\n",
       " '2e87d2c551c51ada8139f1ecdf1e798574680d6240499c98b7f46b11407a64b1': 167,\n",
       " 167: {'file': '/proc/32441/stat'},\n",
       " '91ff2dcccdc407080396b44a8e8a4824812d3efe0b8beb6c3d0417f00c99c4fa': 168,\n",
       " 168: {'file': '/proc/32441/maps'},\n",
       " '6a501884cf55610bbfb05e9fe8cb86565ab28d475d3ce7038bbe0dea56aba8b5': 169,\n",
       " 169: {'file': '/proc/32441/timerslack_ns'},\n",
       " '7d70e652705b6c18f607632897520f9a4ad24948381a67fd749d202ccfb0bcc9': 170,\n",
       " 170: {'file': '/proc/32450/timerslack_ns'},\n",
       " 'f7195a537fc2af200fe71c37e665afb6b1b27d76d8dbfb30f32d3ca3c07f78ee': 171,\n",
       " 171: {'file': '/proc/32451/timerslack_ns'},\n",
       " 'd7e5f979e2ce54872d0aea4a833363e86134d1ad502c5b63aadb9099ef3f3d30': 172,\n",
       " 172: {'file': '/proc/32454/cmdline'},\n",
       " 'ae67d1e0fd2a5ae4a5f85c9b48f5123925094d2dfcea867362821cd8cd2f8e56': 173,\n",
       " 173: {'file': '/proc/32454/stat'},\n",
       " '9326e0617577d42a6dcb6f1676efe6979fc3643fa3c20f56d4bb7b524d0350e4': 174,\n",
       " 174: {'file': '/proc/32454/maps'},\n",
       " '22dfd8b050d5deaa6fc49b96b1796c61adb9cc28bcf65e30e6471d8fb8260e83': 175,\n",
       " 175: {'file': '/proc/32454/timerslack_ns'},\n",
       " 'b34beba9e62163534a768e350047246d666c1f6ad5cefb78da339c41bed53ebf': 176,\n",
       " 176: {'file': '/proc/32463/timerslack_ns'},\n",
       " '5ce3d0a7c8ab155fe3e380738219ef3e456bdcef5eec5f925615658d93b66098': 177,\n",
       " 177: {'file': '/proc/32464/timerslack_ns'},\n",
       " '7c94800e6b7317f03e0adce14793a3314ed98432eb1f9d1c14e6da1aa47bf449': 178,\n",
       " 178: {'file': '/proc/32471/cmdline'},\n",
       " '15f5f4c743a99862a5987b413cd17ee652ec0b0e5780fc20b619f28b15d671b4': 179,\n",
       " 179: {'file': '/proc/32471/stat'},\n",
       " '9d13195e98d7bd67f53cd6658d5f1ac772c8070f566ecd443ae83b97dd9456d5': 180,\n",
       " 180: {'file': '/proc/32471/maps'},\n",
       " 'c87aca69aedc1ef45d355299da8d03b01ddada3bd6968eb6664f80218d524951': 181,\n",
       " 181: {'file': '/proc/32471/timerslack_ns'},\n",
       " 'f262f2d893c3157c168333e8c972188e57244ea57aeaf7141bf35a987e1cfe68': 182,\n",
       " 182: {'file': '/proc/32480/timerslack_ns'},\n",
       " 'b734542dfac82f872135b014152873538dfb19671a9bae614dc0f07a27f0858b': 183,\n",
       " 183: {'file': '/proc/32481/timerslack_ns'},\n",
       " '0a9c8c9b9c786dcdff595dd85d115a40b01caffd5eab8745a229b19cd092d07c': 184,\n",
       " 184: {'file': '/proc/32485/cmdline'},\n",
       " 'd8beedf5c28cee372b1ee33618a89b10d9d3043eb8d92bd4750b50ea96df76e4': 185,\n",
       " 185: {'file': '/proc/32485/stat'},\n",
       " 'd423e2fb133f20ab9c29c297e31f47058086931fa2676ccb2e3503eecdcce619': 186,\n",
       " 186: {'file': '/proc/32485/maps'},\n",
       " 'de9873736438fb89ae2c39a6f32551f313274907b98a90b9424e8df8cbab6cb8': 187,\n",
       " 187: {'file': '/proc/32485/timerslack_ns'},\n",
       " '26d7f01ed73b57986d35c691045c37de70e07c05e96718674b3e156eb3dee770': 188,\n",
       " 188: {'file': '/proc/32494/timerslack_ns'},\n",
       " 'c5feab71d5cb625f579a7fd67fedaa0f2a49a4e9017bf6fb7fdf27433dde0fc8': 189,\n",
       " 189: {'file': '/proc/32495/timerslack_ns'},\n",
       " '894025c57d0594998f2fe06ce2daec07bee8128df9b647865f0e7e5e1c75720c': 190,\n",
       " 190: {'file': '/proc/32516/cmdline'},\n",
       " '8c0054829bb2230cd59e85b5a561a5f6346683a5f34ea74a83940ba854f05590': 191,\n",
       " 191: {'file': '/proc/32516/stat'},\n",
       " '160a71cebe3dbc176078787ce3d422a37021925aac134962f850c3533a4b325c': 192,\n",
       " 192: {'file': '/proc/32516/maps'},\n",
       " '22a30ed55bc5b7e0a2380f991a4c32e92ffeaa6b73662f552b15c86cc59c7027': 193,\n",
       " 193: {'file': '/proc/32516/timerslack_ns'},\n",
       " 'd23acf3781e211fdfbb26e64f4f407d127edac64f1d8c19465d38cdd4546d538': 194,\n",
       " 194: {'file': '/proc/32525/timerslack_ns'},\n",
       " 'c332766c5a64bde50ba5d186a65d928c233bb959c72785cffdf88bee4e6b945c': 195,\n",
       " 195: {'file': '/proc/32526/timerslack_ns'},\n",
       " 'e4841adf20f986218e0ada091d82a1485f7cb594db363a553d10cd0e10decc63': 196,\n",
       " 196: {'file': '/proc/32528/cmdline'},\n",
       " '2cf8cdfc26344ed5ee078ac439ea3c5331206292f18a14cedda1246a95be7bef': 197,\n",
       " 197: {'file': '/proc/32528/stat'},\n",
       " 'dbead0fd5cd8e8c693b88a937a54b8257d96e782859480ec34049b6ff2dd4d55': 198,\n",
       " 198: {'file': '/proc/32528/maps'},\n",
       " 'c237a384d91f3d50c4c5444e5a48223db11b0aa4490fe209496b7729121dab5a': 199,\n",
       " 199: {'file': '/proc/32528/timerslack_ns'},\n",
       " '684aef3a383fc854f8ccf257c28c9745551f988dc852098e4d1cf5f913a4f3b8': 200,\n",
       " 200: {'file': '/proc/32540/timerslack_ns'},\n",
       " 'aad53538933a05848f9a3e81a535ed9743c0a4109d735c37b69ec70ee007a58a': 201,\n",
       " 201: {'file': '/proc/32541/timerslack_ns'},\n",
       " 'aff61591de551da8c7555312f6dff382d79e7c198116efba7d013744a4a954c8': 202,\n",
       " 202: {'file': '/proc/32542/cmdline'},\n",
       " 'a53f71e48a2d3335fe67e47c13d97e6cc952e044baa210ec41ab24913fce172b': 203,\n",
       " 203: {'file': '/proc/32542/stat'},\n",
       " '55aee911a143eaaf1f2cf4e44fe347ed482a55b22aadb14cf44c326f37f37a66': 204,\n",
       " 204: {'file': '/proc/32542/maps'},\n",
       " '61b3a0a67958cd0e7a25913cf00c6be1ffc6618e1aa632175c8ed87c4a4edeef': 205,\n",
       " 205: {'file': '/proc/32542/timerslack_ns'},\n",
       " '080a6cca28701066127f4ec8a2b731c72cca7353c9e55798fd18920eb1eef2a2': 206,\n",
       " 206: {'file': '/proc/32552/timerslack_ns'},\n",
       " 'c9627a7119650cec7570f4af8843fe1d3c504484cfcdc61d4a74206b91248634': 207,\n",
       " 207: {'file': '/proc/32553/timerslack_ns'},\n",
       " 'c151403170f37c89f3917053c7c8b685085063c142cfff991d82051facd8ffdf': 208,\n",
       " 208: {'file': '/proc/32556/cmdline'},\n",
       " 'f323a2f337b4c69f2f1ea74c61496279db82598f8d2a04a7770da578f4bacb9d': 209,\n",
       " 209: {'file': '/proc/32556/stat'},\n",
       " 'df6eef49cf3358ed693119be9b2e2a45aa51dca7e9438a2c5c2889ba49b9b87c': 210,\n",
       " 210: {'file': '/proc/32556/maps'},\n",
       " 'd5ee8fcc019f5e8f96a3e6205a1cffd52c712318b72293405bf888d15a1a2b91': 211,\n",
       " 211: {'file': '/proc/32556/timerslack_ns'},\n",
       " '3fbe5b281099c8b136a1b21a3dce7b98831bed54fcb413e371fcc2d761b8a82d': 212,\n",
       " 212: {'file': '/proc/32565/timerslack_ns'},\n",
       " 'dd8c52c89c7d3672cd4ea92454c27f4fe4e077ce5642ea4579dd294e8e2dda40': 213,\n",
       " 213: {'file': '/proc/32566/timerslack_ns'},\n",
       " '86223a14d09d885ecd02a9461277997698b3b503ebc94b52214a4835e97fdc5d': 214,\n",
       " 214: {'file': '/proc/32590/cmdline'},\n",
       " '467b992597b53f225c8cff5558d965c9b7fcd6d9ea9284c6604b627f7d0eb120': 215,\n",
       " 215: {'file': '/proc/32590/stat'},\n",
       " 'ea55c591de177479fa6e368b756016695933d90e6470deba72167015143183f5': 216,\n",
       " 216: {'file': '/proc/32590/maps'},\n",
       " '4c8b6d517abce34f7490780bf68be426719e3c40bb042af34b82b28b76d844d1': 217,\n",
       " 217: {'file': '/proc/32590/timerslack_ns'},\n",
       " 'b8ee65540df82c722f385741a4cf5bc8e3ae77cec8d30212783f4f1458ca74f9': 218,\n",
       " 218: {'file': '/proc/32599/timerslack_ns'},\n",
       " 'e9f3b3c51bf77ce24edb5d4c83709e74f8f0dc981c0680e94f2dac35f5a38002': 219,\n",
       " 219: {'file': '/proc/32600/timerslack_ns'},\n",
       " '8bf2c597644c2c1d23341d59bfde0a22212cd9f3b6fee19efb98a7c72c59add0': 220,\n",
       " 220: {'file': '/proc/32606/cmdline'},\n",
       " '7314c8ec83352c8cd8c09f5e9e828d72a0d6aa559974a452220049d46acc1f48': 221,\n",
       " 221: {'file': '/proc/32606/stat'},\n",
       " '686382745acc6ea598d294e532ab968f8444334b3cf856fc06c8016b7f6b6eb5': 222,\n",
       " 222: {'file': '/proc/32606/maps'},\n",
       " '5b1ae0a4997e656bb4b69dc9240dc4efd7d96b10581a43e3e5c01e8f797e2690': 223,\n",
       " 223: {'file': '/proc/32606/timerslack_ns'},\n",
       " '1948dc5c2b5d19cdad5ce4b6f61a85710a34e3bd0b80dbd8bc30442c9805d43f': 224,\n",
       " 224: {'file': '/proc/32615/timerslack_ns'},\n",
       " '7eb96f7e8cfe33d978d88d2a718c54ab4e91a03657a2e4b56cc1f09d2e77c507': 225,\n",
       " 225: {'file': '/proc/32616/timerslack_ns'},\n",
       " '11713373e17513a0a6faec173fd4c809033f5e7c7c6c130829bfda5af96fac29': 226,\n",
       " 226: {'file': '/proc/32620/cmdline'},\n",
       " 'f4baa617ec05c6ee22b96bf478282509447c10a648fc633eb19c7dbdab1f8320': 227,\n",
       " 227: {'file': '/proc/32620/stat'},\n",
       " '70ff566b7b3c592e01e5c043e47a56887f2c407a00c687c76bde32ec898e2df4': 228,\n",
       " 228: {'file': '/proc/32620/maps'},\n",
       " '98ae380057ecd6d4fa5595a961575c00d6d1342536db172596d4969d886e4d5e': 229,\n",
       " 229: {'file': '/proc/32620/timerslack_ns'},\n",
       " '5d8551232e993936e907b788190cd78e4301a862b0cb8c10389413fa6a13f1b2': 230,\n",
       " 230: {'file': '/proc/32629/timerslack_ns'},\n",
       " '58c6d374521c7489f954149512a175603e71879b145d25fdf140fa9c9671995f': 231,\n",
       " 231: {'file': '/proc/32630/timerslack_ns'},\n",
       " 'b56e29a665a7ed7180f02860db863177b7195c6cd4ad661772a479c8a5f352ff': 232,\n",
       " 232: {'file': '/proc/32635/cmdline'},\n",
       " '3a7d9409dce895dc1b1107616ee12a2ed1e8a1a8c05cfcddb8cd327e6aa78a75': 233,\n",
       " 233: {'file': '/proc/32635/stat'},\n",
       " 'a307318aa3bef0704c0781d76b29af6e6b26c277dcbe915fb024a048c5f5f4c0': 234,\n",
       " 234: {'file': '/proc/32635/maps'},\n",
       " '171bd1aa381dbea69e37a843fd6524651fa93699e00d0e4267aa85a4fdbd2163': 235,\n",
       " 235: {'file': '/proc/32635/timerslack_ns'},\n",
       " 'a92d99bc1eefc48b014b3d3bd7f25036d2b086f74bf299b2ee94904c859c6766': 236,\n",
       " 236: {'file': '/proc/32644/timerslack_ns'},\n",
       " 'b96f57009681961c72cd56b36e92f901896013bdee61ee4df299f8e06e2f8dfb': 237,\n",
       " 237: {'file': '/proc/32645/timerslack_ns'},\n",
       " '292841cbaebc4cbe111c01f4f654b20bd48b0afa6a6d3656c04fa6bbe31ecae6': 238,\n",
       " 238: {'file': '/data/system/usagestats/0/daily/1557319845289.bak'},\n",
       " '7f8d2a484512d2e5bcf57118636e12b2be65fcbff2b114c1abc2c7264062ab0e': 239,\n",
       " 239: {'file': '/proc/552/cmdline'},\n",
       " 'f0e99d7b05caaae76a98f48f41ce9258dcb532af85e97f731ff9e55f883300e2': 240,\n",
       " 240: {'file': '/proc/552/stat'},\n",
       " 'f67d3e801530df41e0158222951b0458456bbe765acee6d8901dc6e53fc0784a': 241,\n",
       " 241: {'file': '/proc/552/maps'},\n",
       " '5a94eaa0bf8606ad1cb444209d48693e535e1cc4003ba1f7fb2a62e5cc481fff': 242,\n",
       " 242: {'file': '/proc/552/timerslack_ns'},\n",
       " '01e7dea7b0dbc2a10dc4f11fa456fe31a9c2951f48bab2e5a9bb86415739fe97': 243,\n",
       " 243: {'file': '/proc/561/timerslack_ns'},\n",
       " 'a4116eb3b65b3f5af45f68bc51942aeb353e6fd820e59080c7d12c7c5ebd6dae': 244,\n",
       " 244: {'file': '/proc/562/timerslack_ns'},\n",
       " '84212764472b6719f481d9d9cd47be2744cdf76637df8acda680aa0895d913f2': 245,\n",
       " 245: {'file': '/proc/32500/timerslack_ns'},\n",
       " 'bcc4058c63a1260de6f2f44254dce5330ff8d7ff099f8e22a74f7063dde91332': 246,\n",
       " 246: {'file': '/proc/582/cmdline'},\n",
       " 'ec3535eacc69f5c23b4dce694ce04628cc3ec639842ab05f796d14404ed3e5e8': 247,\n",
       " 247: {'file': '/proc/582/stat'},\n",
       " 'fea5ea7b2566542313af98d8c0bec3639e133940ff9327542ba33daf90b3431a': 248,\n",
       " 248: {'file': '/proc/582/maps'},\n",
       " '8b9c960cb73ec5cf9cdc020445cefbb85f31044e563a5e2b3bc93b3e7c22aa92': 249,\n",
       " 249: {'file': '/proc/582/timerslack_ns'},\n",
       " 'b590f456f438cc2353d73c9ea1e64f166488417f844c72c3bc773521f9699d3c': 250,\n",
       " 250: {'file': '/proc/608/timerslack_ns'},\n",
       " '605907ff16f058c6b62e0b1a8d708d8fc8f0599122298d2fe24beae93a50628f': 251,\n",
       " 251: {'file': '/proc/609/timerslack_ns'},\n",
       " 'f1dc287b0c4e549aae9376adcbff687496aeb3c30d6444b212b07885545e80bb': 252,\n",
       " 252: {'file': '/proc/619/cmdline'},\n",
       " '0dcd3bb9f99cce3eabcfc46facc5dbde663a4813e6099a3afd930cafa1926829': 253,\n",
       " 253: {'file': '/proc/619/stat'},\n",
       " '8e409ac9fa5f18b4f5ae7b58256343770ba6417241c2c148e3496fb57ecb88c6': 254,\n",
       " 254: {'file': '/proc/619/maps'},\n",
       " 'b152234c97c6852396b79b0ae92a1fab4e174d8a171ebbcb2e9ae8af045bb661': 255,\n",
       " 255: {'file': '/proc/619/timerslack_ns'},\n",
       " 'ec2fe48c2ea0b4bd4605f12efecfd74614292e50d1013229c589c3b11af5b636': 256,\n",
       " 256: {'file': '/proc/636/timerslack_ns'},\n",
       " '588638dbd34da52d3d5683ea51ac7633a3eb0bd601069b5c210259858b14f8f9': 257,\n",
       " 257: {'file': '/proc/637/timerslack_ns'},\n",
       " 'e129befc6ce362e20d64b74ca8506fefe9d7770c39c6730bc4c4006b11b4aa34': 258,\n",
       " 258: {'file': '/proc/653/cmdline'},\n",
       " 'b41e2ade1175e8612abe5e018983581944730e5eee3050c14d34b5195266a92a': 259,\n",
       " 259: {'file': '/proc/653/stat'},\n",
       " 'd727f93a5c4bcef46b5f58cc4c74ef8c8b6fe9d3479cc96b483de998aa85d663': 260,\n",
       " 260: {'file': '/proc/653/maps'},\n",
       " '78a753b573332ab4f726bc35692d15d22f5929a3aa4f4ea6aad2357ddbc151ed': 261,\n",
       " 261: {'file': '/proc/653/timerslack_ns'},\n",
       " '939cf3cc384a26d203f102631b20a739d7267feaabddfb30d937cc609ea58b1e': 262,\n",
       " 262: {'file': '/proc/670/timerslack_ns'},\n",
       " '6e4b892791500d6945479e085c511d484f557186d6bc0a25de264adc0e8cc38b': 263,\n",
       " 263: {'file': '/proc/671/timerslack_ns'},\n",
       " '90c8f840ff556f6a142a50e1b9afc39308b38f010459e933d5687d8c433da664': 264,\n",
       " 264: {'file': '/proc/675/cmdline'},\n",
       " '0c60af6dbd36bf93df806b7e1cec4674cb2bd9dde7a1beb7014eb96c20e55b38': 265,\n",
       " 265: {'file': '/proc/675/stat'},\n",
       " '641e5da6955bfd97fcd5e3c16143f654aa3a227e89d2f1c48c65e653375734f2': 266,\n",
       " 266: {'file': '/proc/675/maps'},\n",
       " '08966c5eece48790b4f1e72e3043801df5191bc3c8562772b136b871f3a082eb': 267,\n",
       " 267: {'file': '/proc/675/timerslack_ns'},\n",
       " '3cc793f074ce1eb47054b6682ed177497f9a0a7c45f398ca982006f56dd22b69': 268,\n",
       " 268: {'file': '/proc/692/timerslack_ns'},\n",
       " '21f52ee1609996d9e864a3c508b81c4c6f1fbc36bc91617db615f10a44ee9353': 269,\n",
       " 269: {'file': '/proc/693/timerslack_ns'},\n",
       " 'e68a57e10a3ecf0043774ba67f61e513400e1b63ae6f0292a7a0a7c66228f0b8': 270,\n",
       " 270: {'file': '/proc/700/cmdline'},\n",
       " '6f872ad432b69761bdbf36d984e2f0d7d2be28e43394d371a8179de757bf59b3': 271,\n",
       " 271: {'file': '/proc/700/stat'},\n",
       " 'd3b5fa62104217e9c493512137b5bba56a7c9c17a06a883c153c402c0f8d557d': 272,\n",
       " 272: {'file': '/proc/700/maps'},\n",
       " '8ab0074a70533f5bf4e6da593955b861c558420c17b0cb55e38beaa50cf4a43f': 273,\n",
       " 273: {'file': '/proc/700/timerslack_ns'},\n",
       " '358cf164e42f07dc88cb2cc3b4abe33a50c532c9ed832ef8f22f5bf2a4dc1978': 274,\n",
       " 274: {'file': '/proc/717/timerslack_ns'},\n",
       " 'eb33cf7dcdf8ca3a24a813f93fa186596f6021fa21b01bef1512d9a0d5f688b7': 275,\n",
       " 275: {'file': '/proc/718/timerslack_ns'},\n",
       " 'a57fdd812534bcff230634a24789f08fd540849ac32120962e6536dbb7defb0c': 276,\n",
       " 276: {'file': '/proc/761/cmdline'},\n",
       " '6fc68506098aa52d1bd60b263a7597df52c92a65059d462f68e0198f40aec862': 277,\n",
       " 277: {'file': '/proc/761/stat'},\n",
       " 'dbb34f6ed9f20cf2a69c0045a51f14f1e980498335a7e1846730229f01c7c0a8': 278,\n",
       " 278: {'file': '/proc/761/maps'},\n",
       " '3a21246b6a5b14cfde121dcd3abaa4b1b26ca8907fa16fd19b58135266448223': 279,\n",
       " 279: {'file': '/proc/761/timerslack_ns'},\n",
       " 'e6c5d2568bb295f00f07b51a9884ad39b16a213948f2e95813e5c2db8a68bfcf': 280,\n",
       " 280: {'file': '/proc/831/timerslack_ns'},\n",
       " 'a9731572ae2ffb3b96b6e79de670a9e62916f1e5d1ac918916c22d7734e63fb9': 281,\n",
       " 281: {'file': '/proc/836/timerslack_ns'},\n",
       " 'b999723998508b75073e0af7000b7261e088ebbad80b67cd7d53fe7f186bf16e': 282,\n",
       " 282: {'file': '/proc/859/cmdline'},\n",
       " 'ba28d0f8cc93774508dc48bb9757b2496c6642350b894788ddec5a64048568d1': 283,\n",
       " 283: {'file': '/proc/859/stat'},\n",
       " '4bf575336061c8efd19898a3d96f85750c9b8a64457eddc70be153bbeea024c3': 284,\n",
       " 284: {'file': '/proc/859/maps'},\n",
       " 'd77a7d9e50de7056b965d5d60b9f24d399ddb29000057a8e50e2961b6bc06c0b': 285,\n",
       " 285: {'file': '/proc/859/timerslack_ns'},\n",
       " '8b6b6288b489e95543024f455f9eadfa4315b02f811c2673de684b41caf62c19': 286,\n",
       " 286: {'file': '/proc/938/timerslack_ns'},\n",
       " '0b794b0722429b81c78e45f455c5fe9ae3f7a1e1bda3d22aa7e3e0e36c23c7c3': 287,\n",
       " 287: {'file': '/proc/953/timerslack_ns'},\n",
       " 'c73e41364fee0b76d67fab6ef6671cef024f31210eca62dc2fb6309da7726e27': 288,\n",
       " 288: {'file': '/proc/957/cmdline'},\n",
       " '4560fe6db2b999254997949f289a760afd7b6a51a67f3cd700c2477a64812f40': 289,\n",
       " 289: {'file': '/proc/957/stat'},\n",
       " '8494ab0d9feb9337a862740e031877d0e6bb25b2f7e14ae117f9d11735292d2e': 290,\n",
       " 290: {'file': '/proc/957/maps'},\n",
       " '281a39c447080fcd16336fcfd2b61112ac7ad564578d0c6a0a97caffb748a353': 291,\n",
       " 291: {'file': '/proc/957/timerslack_ns'},\n",
       " '85d143ed21192e4366d4ff9aea59fa3d3237eef9cf47d96c8bf9f952546b546c': 292,\n",
       " 292: {'file': '/proc/988/timerslack_ns'},\n",
       " '8e10a6bb21d4a09d42cb0702ebafd884af8859ce16e8e8d4d65052aca0c3e006': 293,\n",
       " 293: {'file': '/proc/1000/timerslack_ns'},\n",
       " '42ca2668abab1e759664b4146748cf0f9e675dcf8ebc1d297f2ee2f0e7cfe2a1': 294,\n",
       " 294: {'file': '/proc/1012/cmdline'},\n",
       " '9af41b009e87d53be583d14d79dbec11dcdc4a37acb15098b377db8de35917d0': 295,\n",
       " 295: {'file': '/proc/1012/stat'},\n",
       " '64d88c215a2906ac1d1534e993bb710f68a6cd74bb5e893d891f1ea815fa9cb7': 296,\n",
       " 296: {'file': '/proc/1012/maps'},\n",
       " '9252df00ad36d0f8ec0d93faa04a99c04fe90cbed08d0ee70b98a894e744b92c': 297,\n",
       " 297: {'file': '/proc/1012/timerslack_ns'},\n",
       " '72ad0ccd8c3a5a5b27b3813c78ff0ceda65d5088088d10d5f66c432babec2939': 298,\n",
       " 298: {'file': '/proc/1024/timerslack_ns'},\n",
       " '1874b210ddb5bac3f1e0ed7c687c1c63bc65048712ff1c69037053d4a8c881c5': 299,\n",
       " 299: {'file': '/proc/1025/timerslack_ns'},\n",
       " '6e8458cc3b566648c567071c7b0a805f44ede2a0f7304d0b4fc9e44c2e217fac': 300,\n",
       " 300: {'file': '/proc/468/stat'},\n",
       " '6c8ed07155d15d58441a5fccfb430111d73060e4d6537245a703287f5d575246': 301,\n",
       " 301: {'file': '/proc/468/cmdline'},\n",
       " '0370fabc41e4f592fdfd21fa3aad9052fc039bb8e5cb560f80061433fb1f72e5': 302,\n",
       " 302: {'file': '/proc/571/stat'},\n",
       " 'bbc031b097318f2b9384fae312f124f6728d7be6062783e513dbbb900dbaf742': 303,\n",
       " 303: {'file': '/proc/571/cmdline'},\n",
       " '2e96a889c78d92f5e8a363c5ba31774655c6b5440bd324ed239f836623b1e862': 304,\n",
       " 304: {'file': '/proc/719/stat'},\n",
       " 'e4473c2c7d9752bfc77914132695a24e1ddab7a038c925ecb8626e02eb53d07b': 305,\n",
       " 305: {'file': '/proc/719/cmdline'},\n",
       " '08f004bcaf18494846f7d78d60c55416f67d77cdd738f4a0cfe9ad07a3256a57': 306,\n",
       " 306: {'file': '/proc/32470/stat'},\n",
       " '92a84b2f943ac654415e9b6c3ec0577858273209b490aff86712a41e93ffd908': 307,\n",
       " 307: {'file': '/proc/32470/cmdline'},\n",
       " '7ab967a550d6b6b763f613cf1973f6234c5b60afa37efa6cb81dca304288c499': 308,\n",
       " 308: {'file': '/proc/32506/stat'},\n",
       " '6448ffaf0fc13761902e4efbd13dea5f1db497dbd1b9b5625b79299a0e7da793': 309,\n",
       " 309: {'file': '/proc/32506/cmdline'},\n",
       " '669547ac3029b995faf7d25d382f19246b39d6f008c8ca60517085b9398e665c': 310,\n",
       " 310: {'file': '/proc/32509/stat'},\n",
       " '746c13a770d126fc1cf3ad799da9373fa5434b469652601ba8acbb57a81bd126': 311,\n",
       " 311: {'file': '/proc/32509/cmdline'},\n",
       " '295c6a647810576070774d057a6b4e7e15499f348e01ffb590c8f849d8618f61': 312,\n",
       " 312: {'file': '/proc/32527/stat'},\n",
       " '8821de4da093355e2a6960c243dd0a8e0b3a7cc5fe16a9dd193d31501120dc2d': 313,\n",
       " 313: {'file': '/proc/32527/cmdline'},\n",
       " 'ea8e1ccf4ebad680013054e1266ce3e95001826130cafc0a42118471dcc6974f': 314,\n",
       " 314: {'file': '/proc/32569/stat'},\n",
       " 'eb74aad4b16206f7408e9a3bf8f76ea7d4303dc72490450da30423feba5b3ccb': 315,\n",
       " 315: {'file': '/proc/32569/cmdline'},\n",
       " '63543d6721b052d591a83edd7f16a4649f1a92bdf6e2bc28b40a3b262a1357f3': 316,\n",
       " 316: {'file': '/proc/32666/stat'},\n",
       " '476f756d0661e5ebff8178173600609818352e80c52f41c2361b7446550a5301': 317,\n",
       " 317: {'file': '/proc/32666/cmdline'},\n",
       " '19f96eca293a9615db306d30cb393c3dbc0fd6568270a19c0a22ea673e4f16c3': 318,\n",
       " 318: {'file': '/proc/32717/stat'},\n",
       " '96d1ae6a9763ba01b1931ea82e5016a582f042fc3d07c865420ed90ad2dc3bf4': 319,\n",
       " 319: {'file': '/proc/32717/cmdline'},\n",
       " 'ac8bda3b84e018ef5f82c84fe9c445dc493ba4e89c1a551d55cbf4bb6b294736': 320,\n",
       " 320: {'file': '/proc/1059/cmdline'},\n",
       " '9afa082e5ba8a02b017fd6382bf015b47840dfc69e6358e844853f3d5ad9bd10': 321,\n",
       " 321: {'file': '/proc/1059/stat'},\n",
       " 'd7bd19bd3f3cd6bae9febc6ee7e15b00a1e043c540c1bf172dc681c4e906643b': 322,\n",
       " 322: {'file': '/proc/1059/maps'},\n",
       " 'e03478f9ff7c2818b43ab87a3d2cf1c16dcedae9fc3680a00b4518861574f4b0': 323,\n",
       " 323: {'file': '/proc/1059/timerslack_ns'},\n",
       " 'd5dbe70be007a851f3e205cafcff2e95888b985f6122be024339ce6088cc5667': 324,\n",
       " 324: {'file': '/proc/1087/timerslack_ns'},\n",
       " '8008c14df486463847eddf741d6b8b46cac3805829a037f96e7c9415637317df': 325,\n",
       " 325: {'file': '/proc/1090/timerslack_ns'},\n",
       " 'd1b8ace7ad14a3563428b1162859495574431972826afc61f515b55053a917ef': 326,\n",
       " 326: {'file': '/proc/1107/cmdline'},\n",
       " 'a0c38cdba3886d28de5afe76502ec4d3f90b1db8a95409d53321fd32580cb9a9': 327,\n",
       " 327: {'file': '/proc/1107/stat'},\n",
       " 'e207b48a74bd23480c1bd286ec887ce23cd8267271603decfddab4676fcd1c69': 328,\n",
       " 328: {'file': '/proc/1107/maps'},\n",
       " '62206e88c5efe6fec88236517c20072acc32a3d099c6409ced93f1b964bc3580': 329,\n",
       " 329: {'file': '/proc/1107/timerslack_ns'},\n",
       " '4f72b0192207552b50bcae604e11f66e908cb2116694e5f1ccd01f31534fe44e': 330,\n",
       " 330: {'file': '/proc/1119/timerslack_ns'},\n",
       " '2dc0671b2b0fb1f7c16ddeeb35ef863baaad1fedb85ccbe41c3b816499d79362': 331,\n",
       " 331: {'file': '/proc/1120/timerslack_ns'},\n",
       " '0f7afb07fc933fc6a9dc9697725579d5b21676b47240e4cb4a86250815a49748': 332,\n",
       " 332: {'file': '/proc/1124/cmdline'},\n",
       " 'd364ab9284f8e4003c6a9974d49d5e229abcfe43afd1f38258e24f9c1c3382a8': 333,\n",
       " 333: {'file': '/proc/1124/stat'},\n",
       " '80989008a9ef1df1f8f847845e4a3dd97bb8072224b70f3132a19ed33e308366': 334,\n",
       " 334: {'file': '/proc/1124/maps'},\n",
       " 'd859169e0621ea5e41d031934af36b33912cba5e888794beb1396e57bec972da': 335,\n",
       " 335: {'file': '/proc/1124/timerslack_ns'},\n",
       " 'f03843de69e537179c55866f3d05d158694a5f8f4323f8b363df18c0151787a0': 336,\n",
       " 336: {'file': '/proc/1133/timerslack_ns'},\n",
       " 'c429e19dd4fc37682079795e34d358aa7cb0c4cf0a12aa37d81a4976dde3e5c6': 337,\n",
       " 337: {'file': '/proc/1134/timerslack_ns'},\n",
       " '643cf135a3f395576d91c467d2ca38f15e7ba979ad72bba41f8f65189b8cf4a7': 338,\n",
       " 338: {'file': '/proc/1139/cmdline'},\n",
       " 'b133c4edee96d920f7555aebbc5a243f94dbfde6dc1c99486d86ac8e7059f252': 339,\n",
       " 339: {'file': '/proc/1139/stat'},\n",
       " '7b174f1c02010aff986da0095d7429d8a0a1945f602e1766e43759fd135bef91': 340,\n",
       " 340: {'file': '/proc/1139/maps'},\n",
       " '0a0f3b9dad0679a5a6abbc5a912ecd408b10b56d84ddf306c60b36d60550cb99': 341,\n",
       " 341: {'file': '/proc/1139/timerslack_ns'},\n",
       " '9abe51bcfce475f3979879f927e71f73739146dc3be75d55f9f4e4a365e9fa63': 342,\n",
       " 342: {'file': '/proc/1160/timerslack_ns'},\n",
       " '2196991ad341ce6fe5dbb96c3dd862598b25b4b20255864579571a92660877ba': 343,\n",
       " 343: {'file': '/proc/1177/timerslack_ns'},\n",
       " '97d656bb0c24cbfcfe8f697b0fdfd22e7dbab59ba9a6d66b92a9080d734b8e12': 344,\n",
       " 344: {'file': '/proc/1210/cmdline'},\n",
       " 'b26673e894e7ecfbb6c61a5fe1c26cda2c49d63eafa0f32a0d33915f3cfb6478': 345,\n",
       " 345: {'file': '/proc/1210/stat'},\n",
       " '247cafdf87f30372cd6c74a65fd5629f9a8a235405e697e37811d6ad50715e59': 346,\n",
       " 346: {'file': '/proc/1210/maps'},\n",
       " 'e1ae7c695bc2998285b5bc251285759f3a2e82847bf615d9e2f192c82b1bc6f1': 347,\n",
       " 347: {'file': '/proc/1210/timerslack_ns'},\n",
       " 'cb24c9eb82d038c6695bda79144e123fe45cc3cc1f554442d39f63a1335c59f3': 348,\n",
       " 348: {'file': '/proc/1221/timerslack_ns'},\n",
       " '78439d734fc8226bdafa57fba6353bb79bcf033f0c60191d6ffc259925b98023': 349,\n",
       " 349: {'file': '/proc/1222/timerslack_ns'},\n",
       " '21ca0a2179a70a70ea16c2bae9e61fe6def571d77ea05d17ebd33b9b03919ce1': 350,\n",
       " 350: {'file': '/proc/1225/cmdline'},\n",
       " '591e82ad83025eeec379b6a37731947d62fcd43fe9870c4e2aa18ed3d6d8279e': 351,\n",
       " 351: {'file': '/proc/1225/stat'},\n",
       " '2886a89caba501b8f9151c60ba04a576803b1eb4667a5bee91e0f4cbad32cf7c': 352,\n",
       " 352: {'file': '/proc/1225/maps'},\n",
       " '5c1811bd87323a43a6f20b93d2a9b5319afbcf512d15aa3e3daabb993f0a30e5': 353,\n",
       " 353: {'file': '/proc/1225/timerslack_ns'},\n",
       " '70642a36fad45c9d9b156a703db51cd2d2ef56e7c278b78f819389ebf271c392': 354,\n",
       " 354: {'file': '/proc/1279/timerslack_ns'},\n",
       " 'a5b97835f3062fb7d537fd875f35bd382e39022d52bbf0d1e73ccc8b886b992e': 355,\n",
       " 355: {'file': '/proc/1281/timerslack_ns'},\n",
       " 'd185f116945a13afe488055920146fe5806fd78555fe81385798f5634801b4f6': 356,\n",
       " 356: {'file': '/proc/1283/cmdline'},\n",
       " '32f1a5e562919ff4136a21976dab5dac2f8eeb051c8a67892d6322aeb9be25cd': 357,\n",
       " 357: {'file': '/proc/1283/stat'},\n",
       " '82f0b9818b98e8b33d5bce2bf8c9c93fdf8d5e70d10010d76ade1c71e4f3b1b6': 358,\n",
       " 358: {'file': '/proc/1283/maps'},\n",
       " '0e93c36fc928a74363b3cca5446ea255a1b6a3f89595280e9186466e00ccafda': 359,\n",
       " 359: {'file': '/proc/1283/timerslack_ns'},\n",
       " 'f8236b5d17c4f10504d47b6d56bdba608f68d089abbdf9200ee728319d69844a': 360,\n",
       " 360: {'file': '/proc/1293/timerslack_ns'},\n",
       " 'd9ce3a460c4ecae02d465bec642d6bd4170fb6a9b335a76ab338c511ae993179': 361,\n",
       " 361: {'file': '/proc/1294/timerslack_ns'},\n",
       " '604c3c91dfbd35b77f7f02a7c652e23e8624e0bd2aa000d6d0bfd28939141cc7': 362,\n",
       " 362: {'file': '/proc/1304/cmdline'},\n",
       " 'a5fadf063eef3817f7843825e6d9582ca4bed9001ba6f21afcfd7efa5c48b171': 363,\n",
       " 363: {'file': '/proc/1304/stat'},\n",
       " '88b35fc978148ac8534450adc4c4b5efdaeb532469eb28a257e0f71e2cc939fa': 364,\n",
       " 364: {'file': '/proc/1304/maps'},\n",
       " '69233f30142cd870ac59e9192893c07ff3c985ae5ff0e4b2f07ed3a2b5434c75': 365,\n",
       " 365: {'file': '/proc/1304/timerslack_ns'},\n",
       " '8daa47d65161324c7916f97961ded88ccf805777866ccfc5028f876e9043da1e': 366,\n",
       " 366: {'file': '/proc/1345/timerslack_ns'},\n",
       " 'a84ad056c6ea5fb565acc9fea300905ea64aa01300d7422527daa7e33c1f2160': 367,\n",
       " 367: {'file': '/proc/1350/timerslack_ns'},\n",
       " '84875fdfef34de24ff8b08f5be1333a333c7b448947c5a1e1512026c034e5c19': 368,\n",
       " 368: {'file': '/proc/1417/cmdline'},\n",
       " 'eeccc686420801121fa9873fe640a53f3c17a7b8efba691477df380a2a05db83': 369,\n",
       " 369: {'file': '/proc/1417/stat'},\n",
       " 'fa38b1fde8b3f1b027ab1d5ee7ee92f1ee741640adc9445e0cd1976442d9f363': 370,\n",
       " 370: {'file': '/proc/1417/maps'},\n",
       " '666f7696f9691074f15d9c9f80c75ea59592409d8b9f5ac45587dcf112407df8': 371,\n",
       " 371: {'file': '/proc/1417/timerslack_ns'},\n",
       " '1357cd4349271c6463b3461fcf4edaddd46e59aa81eebcbd84fb27718671f4dd': 372,\n",
       " 372: {'file': '/proc/1427/timerslack_ns'},\n",
       " '6e2094e3fd53ef7618cabaa6b6c169d3f15c60e05841bc10ebb94b43cade5351': 373,\n",
       " 373: {'file': '/proc/1428/timerslack_ns'},\n",
       " '7194abb018cc8839546518f72237e344e0adf4c87a2572234a1454f1161633d9': 374,\n",
       " 374: {'file': '/proc/1432/cmdline'},\n",
       " 'abf387d161b97ce257a58876f1978f3f71144e6eaafad6ff85225ba802e47b82': 375,\n",
       " 375: {'file': '/proc/1432/stat'},\n",
       " '80660139463346a561fcb2c6b656edd7d52313dfc944d1f0ca4cfe9ee55a812a': 376,\n",
       " 376: {'file': '/proc/1432/maps'},\n",
       " '7660ec207150b4c70716c31dea93b384b3380996f8d683076544c2871eeb2840': 377,\n",
       " 377: {'file': '/proc/1432/timerslack_ns'},\n",
       " '625ffb9b8acb092b9c8dcdd18ba91cafcaa95033ff17933f57a4d58e7c9a952f': 378,\n",
       " 378: {'file': '/proc/1441/timerslack_ns'},\n",
       " '6bff137bf7cdeaaf2a763cf8a1fe5092d29e0529573a9d4756c2a32e3b55fe6e': 379,\n",
       " 379: {'file': '/proc/1442/timerslack_ns'},\n",
       " 'c2b1de49ba4ef8c56afade7165e0a73d67b103766a6f9e1154670c68f6ebd942': 380,\n",
       " 380: {'file': '/proc/1446/cmdline'},\n",
       " '31cbbf394e4e0f02fa647749cd6cd67fa07105a0aa2c348b688588808855931d': 381,\n",
       " 381: {'file': '/proc/1446/stat'},\n",
       " '7c88604514446362747e505ecf709f5ff462929fe6c8b12bfb9e46f2192f626c': 382,\n",
       " 382: {'file': '/proc/1446/maps'},\n",
       " 'f166f0db28f14d998de8b5eecad88aed3f1d7e59ff9b59168529d7b9b1e7a0c8': 383,\n",
       " 383: {'file': '/proc/1446/timerslack_ns'},\n",
       " 'a0ece00920c01613926a56007e2fa6058d493b114f5fd4625810318a61b9426e': 384,\n",
       " 384: {'file': '/proc/1455/timerslack_ns'},\n",
       " '02684f36917677a4422d3d1962bccdc2ee2893f327f400be9e03a7e4d2a5e70d': 385,\n",
       " 385: {'file': '/proc/1456/timerslack_ns'},\n",
       " 'a84864aa87473c1404415245946e399d6d2dc063df6378ce356c82b50dea36dd': 386,\n",
       " 386: {'file': '/proc/1462/cmdline'},\n",
       " 'c89522c7d49638581cf2b58a98993d4ae1ca314dbce455be782dadbdf6016227': 387,\n",
       " 387: {'file': '/proc/1462/stat'},\n",
       " '735f2f47dd63102d74b3dfb5161c3ce65d5fc140b521fa9163fd9f7d2d614b67': 388,\n",
       " 388: {'file': '/proc/1462/maps'},\n",
       " 'ff84706bf5543b43caa55a7867c7236e6bdd61c226ff7f0d6b8d08df03d34964': 389,\n",
       " 389: {'file': '/proc/1462/timerslack_ns'},\n",
       " '306618c54660edda4def0c323297bc16aab90c7090a5c06b770c1546b683d020': 390,\n",
       " 390: {'file': '/proc/1476/timerslack_ns'},\n",
       " '43634d597d96a91402b0e1af829d7a4277f371e753d1aa13c5d2284d37102df5': 391,\n",
       " 391: {'file': '/proc/1477/timerslack_ns'},\n",
       " '21d36c0cba02212dfaba4c3f79cdd9f0a8e05aa81f50643f5d26d4f17c494fad': 392,\n",
       " 392: {'file': '/proc/1514/cmdline'},\n",
       " '2d65f1d764533f4c7b80b606180ddf0fab996cdca2b2aa9d749752bf0850e6ba': 393,\n",
       " 393: {'file': '/proc/1514/stat'},\n",
       " '57dcbadd8b568b8f646fd73158491053884bef226512ec7a499c899907ed9a8d': 394,\n",
       " 394: {'file': '/proc/1514/maps'},\n",
       " '01d5864a6a6e1c8f9ad365cd6178b85560b6ac2367b4e95c50652fd905dc38c1': 395,\n",
       " 395: {'file': '/proc/1514/timerslack_ns'},\n",
       " 'ee0f0c6ac920ff9188746fbd6cca00b639e27486f7a309e3805f436378dcb8ae': 396,\n",
       " 396: {'file': '/proc/1526/timerslack_ns'},\n",
       " 'c6628e582d6d8f5461093934f2a0cd8de6583333371edbdf168777549940adba': 397,\n",
       " 397: {'file': '/proc/1527/timerslack_ns'},\n",
       " 'c493e70a307c83d1304eb6e448ff871d415adc42346e9f66151dfe905149be04': 398,\n",
       " 398: {'file': '/proc/1528/cmdline'},\n",
       " 'de7bcde01e013c00b4579afb58c5c3e275b714d0d144041ceb8e60e394b8398a': 399,\n",
       " 399: {'file': '/proc/1528/stat'},\n",
       " '88ad318980a5364e90667434a335eee6dedfd7ca61b0b8a638610cacd3693f1b': 400,\n",
       " 400: {'file': '/proc/1528/maps'},\n",
       " 'e89bf1fd4e8ed2a9fceb46d41591bdf10cd2923fb0c3cedb92c3b5cdfdc647c9': 401,\n",
       " 401: {'file': '/proc/1528/timerslack_ns'},\n",
       " '934f3d11af65da9c3e28390b674cc2f89f6237f4cce4f17485c70de9ae10904c': 402,\n",
       " 402: {'file': '/proc/1540/timerslack_ns'},\n",
       " '7c5250ffa511ca76d73dbc38a799c9ef5b6428e0a5872de2e929c79dd270d435': 403,\n",
       " 403: {'file': '/proc/1541/timerslack_ns'},\n",
       " 'f7e936cb2a30721c63f845cce7830c7c89df4116356cf2f2b21892b8a4a97665': 404,\n",
       " 404: {'file': '/proc/1544/cmdline'},\n",
       " 'ae273d62818ecd02a4e3cee8768d84cb46382daafac128c990f78eff28eff83d': 405,\n",
       " 405: {'file': '/proc/1544/stat'},\n",
       " '938ccdc33eb10b4fe22d3e506e12d20b92473c3c4a78db8675e405ea46b381e0': 406,\n",
       " 406: {'file': '/proc/1544/maps'},\n",
       " '5ad1d01f02e08bf5caebbc6bb4ae86fdd4e2d0d1b3b88089afbd0aa7a6fb7073': 407,\n",
       " 407: {'file': '/proc/1544/timerslack_ns'},\n",
       " '8a1616bd4a36f39c26e14b2a142a18a4f8f9576f79c0a2f095ed590d81d241c0': 408,\n",
       " 408: {'file': '/proc/1553/timerslack_ns'},\n",
       " '9d053a48357df3e65e137bba0654dde52a29dbb4dc86682ea71bc082c935a834': 409,\n",
       " 409: {'file': '/proc/1554/timerslack_ns'},\n",
       " '79ae977e831cbc8882c8d3aaa9bd72a034bad49c37afb07037bc15b38fa8ea24': 410,\n",
       " 410: {'file': '/proc/1558/cmdline'},\n",
       " '191e12a2002aa636e900c9759fa52c6fd7583bc50881500fa5168f7260bdb0f2': 411,\n",
       " 411: {'file': '/proc/1558/stat'},\n",
       " 'de1bacd650be069bb53743b51def806883f4f9db809021d93c50de53e8403e52': 412,\n",
       " 412: {'file': '/proc/1558/maps'},\n",
       " '57a279cc1460ba74607febf58d38a5dc9a22904ef786336778bbb2cab6fcba94': 413,\n",
       " 413: {'file': '/proc/1558/timerslack_ns'},\n",
       " '5defbae2fd618f057fbf8204b490dbbee7601feb025efcd054d12a85573796a8': 414,\n",
       " 414: {'file': '/proc/1567/timerslack_ns'},\n",
       " 'ca60772f6a695beced07fc3abe64e1025a2e8d6b1b724fcf669aaba9fd260777': 415,\n",
       " 415: {'file': '/proc/1568/timerslack_ns'},\n",
       " '40a4c4a97330d3297679d89230ec0d34538f1f0924c5e445d2a08c307a33ebf0': 416,\n",
       " 416: {'file': '/proc/1590/cmdline'},\n",
       " '9ca9114a29882f7eecc5e7333d04c72672d478f4da7162d8186212b2c114dab3': 417,\n",
       " 417: {'file': '/proc/1590/stat'},\n",
       " 'b709d0d09847e9deae9389833f1cde1253d94ca10b46692493bca7a5e23da617': 418,\n",
       " 418: {'file': '/proc/1590/maps'},\n",
       " '85447efc08973c68e479eeb6e2093790e307eaf8b7f5556c8f2be557b952b39e': 419,\n",
       " 419: {'file': '/proc/1590/timerslack_ns'},\n",
       " '2e49c9850d21f37eeac4d07dec1469cb9aa929dd82f5b7aab43e6dbdf3599f2e': 420,\n",
       " 420: {'file': '/proc/1599/timerslack_ns'},\n",
       " '13431d48211517ef2d0f6a1f1027e066243630ffbd7adc8dcbc2f57cd250cbb3': 421,\n",
       " 421: {'file': '/proc/1600/timerslack_ns'},\n",
       " '76a7e29747b50023519c3281bbeee7fdbba6e7cda348a0cf2b4f518c27764ad2': 422,\n",
       " 422: {'file': '/proc/1603/cmdline'},\n",
       " 'b572a2bc0391b2948f643036a3ecfc0619b2220d44c70b7c592e13eceec486f7': 423,\n",
       " 423: {'file': '/proc/1603/stat'},\n",
       " '655c013f30bd9c5e129c5a9fb118572dd5b6099e7e4bd10b1c5d465768e5c660': 424,\n",
       " 424: {'file': '/proc/1603/maps'},\n",
       " '5b690b37cb7ac56785205baf743e54709403c7aa0b90d78903e73d44651c50b8': 425,\n",
       " 425: {'file': '/proc/1603/timerslack_ns'},\n",
       " 'eb2a04ac2f39d097687752e1b26ac265e074b1f86391757080f62bb2290f88f9': 426,\n",
       " 426: {'file': '/proc/1612/timerslack_ns'},\n",
       " 'df9f7ca21a57281685292fea2881016bb565f6888192809f0cfb8169d0724f89': 427,\n",
       " 427: {'file': '/proc/1613/timerslack_ns'},\n",
       " '5686945c4b99f35c6cdb4f1041f07f6e092526843cee1566a324f1010ba90f41': 428,\n",
       " 428: {'file': '/proc/1617/cmdline'},\n",
       " '03e55ae0af380831592c027316b0c520dcd8a00ef0f82b3fd4f8c773eba3ac2c': 429,\n",
       " 429: {'file': '/proc/1617/stat'},\n",
       " '352cd99aeee9bb14ac251bef05c65f73a97015a309b173a11d838b297c4e4b65': 430,\n",
       " 430: {'file': '/proc/1617/maps'},\n",
       " 'ed6cfe9f86fac0d70e6b9c71489ac385dfb2fafe90bada4b7dc1353747c9566a': 431,\n",
       " 431: {'file': '/proc/1617/timerslack_ns'},\n",
       " '8400b382fe29423e42c6003ebec40a175debd5d32b4cf82320b7ca83161790a6': 432,\n",
       " 432: {'file': '/proc/1626/timerslack_ns'},\n",
       " 'f1c0ce226bf0cc99f53c6dfa1d6f3f651fc40c8b4f677756b23826543422f744': 433,\n",
       " 433: {'file': '/proc/1627/timerslack_ns'},\n",
       " '499820f0183601253c8fc8ea2bd4f4b6e07929fd5ff1e3ffd4b3b15c64dcab88': 434,\n",
       " 434: {'file': '/proc/1633/cmdline'},\n",
       " '8c61b67ad1afc51596adf27151964ec7a39a359a513451e3d62c0d5fdff1d322': 435,\n",
       " 435: {'file': '/proc/1633/stat'},\n",
       " '01161dbaff3166b0c3d34d1b967160d563212895392cc3215f187d7c8dd226d8': 436,\n",
       " 436: {'file': '/proc/1633/maps'},\n",
       " '8adb196b1bc209c26d516c2b58225fba5607bc3c276fbc70257d58f1e9ae738f': 437,\n",
       " 437: {'file': '/proc/1633/timerslack_ns'},\n",
       " '4b93549cce5f5253551d887d5d9bf5920fc89865c1b4bd010e2adae595291f5c': 438,\n",
       " 438: {'file': '/proc/1642/timerslack_ns'},\n",
       " 'b68211830843d00195ffbbe7dd79fb60a82fbdf28ea0429b83912e8814d15540': 439,\n",
       " 439: {'file': '/proc/1643/timerslack_ns'},\n",
       " '18d473112e31a995b166298570b39611c851588e77937167c18e25dba2000301': 440,\n",
       " 440: {'file': '/proc/1665/cmdline'},\n",
       " 'bb6fdf92c49c410a255fcafff5da9c305c17c3d18bbc1cfb6f124773b1ea5000': 441,\n",
       " 441: {'file': '/proc/1665/stat'},\n",
       " 'c6126d4392a1db205b17f33794f297c28459549c94c1f754cf7ffe302dc69bc2': 442,\n",
       " 442: {'file': '/proc/1665/maps'},\n",
       " '76bf204dc63dd416973ef4fcdfe5f4daaa0006d2ed2e49e2d0f30580e22a3222': 443,\n",
       " 443: {'file': '/proc/1665/timerslack_ns'},\n",
       " '4d9a341191b72843e806e3b3df203512278220da3acdcbcd7509728e520a2bfa': 444,\n",
       " 444: {'file': '/proc/1678/timerslack_ns'},\n",
       " '004b06b56d98c7153eb67db416b8b702bd44674155cf6d1c3f7c32d6534b0b8a': 445,\n",
       " 445: {'file': '/proc/1679/timerslack_ns'},\n",
       " '5c617960f6ae4f5b10e4fefd8658d709e419ecc108812a0824dc40e112e1a806': 446,\n",
       " 446: {'file': '/proc/1680/cmdline'},\n",
       " '23b63df826ae7cd2610e1ad088206f42b501fe141722c270996d18bf59bf85f3': 447,\n",
       " 447: {'file': '/proc/1680/stat'},\n",
       " '6109925eebb8dc2d3cc9a851ab22c54b8421f02303411202d17521cbb2d2d2bb': 448,\n",
       " 448: {'file': '/proc/1680/maps'},\n",
       " '51fa1c9bb15644ae8286f8e7c7e2dc841fa2634511c6d33c33c17e888f873d22': 449,\n",
       " 449: {'file': '/proc/1680/timerslack_ns'},\n",
       " '709a5a0feab96ea9e75e8aec412e9d9c90b782c98633cf4fbb777eefcc1998fb': 450,\n",
       " 450: {'file': '/proc/1689/timerslack_ns'},\n",
       " 'cd14cc61fffa62d7f456c9935b958bae1ddb7a4ff7ba21d15e2638072208ae42': 451,\n",
       " 451: {'file': '/proc/1690/timerslack_ns'},\n",
       " '81365b3efc8d13a6824603e2ad48423c2973c5240aaa793e5fefb73642b44ef4': 452,\n",
       " 452: {'file': '/proc/1696/cmdline'},\n",
       " '304ccd22c6c4202c165a206b65eb2f99ae6300c0831d277418869873ede7ac54': 453,\n",
       " 453: {'file': '/proc/1696/stat'},\n",
       " 'fd43cfc4af89504e5d3dd7fc742dce6f73d506da58e1d9d5682cd4f227feb953': 454,\n",
       " 454: {'file': '/proc/1696/maps'},\n",
       " '6817522856fe73a932336fe2ffa057b285806d0be38f339097ef19679bedba29': 455,\n",
       " 455: {'file': '/proc/1696/timerslack_ns'},\n",
       " '8e488f3a11d7d545a6f172f1645757907a73547d52d2ef793606f049c7a2b63f': 456,\n",
       " 456: {'file': '/proc/1705/timerslack_ns'},\n",
       " '292ed6d7724742cf06bc54dd07026e38891c30ca56d08f9cdd19b04f96b8d58c': 457,\n",
       " 457: {'file': '/proc/1706/timerslack_ns'},\n",
       " 'e5352ab0f2aad763b97578c9de6db123dc066be4e2e5ba304a95a60c1d6900cb': 458,\n",
       " 458: {'file': '/proc/1710/cmdline'},\n",
       " '127488437d889894927d866fa268449e6e9df70eb321f94e5b5e404e8092b03f': 459,\n",
       " 459: {'file': '/proc/1710/stat'},\n",
       " '496827133157e513503d3e34466ef5f52c18355bbe67d01620458b028992e329': 460,\n",
       " 460: {'file': '/proc/1710/maps'},\n",
       " '2d6ef069e28c9a2596f8f64e386c02aee9e99e3de41eeff2b497512802ec90e8': 461,\n",
       " 461: {'file': '/proc/1710/timerslack_ns'},\n",
       " 'abd6ff9b56f12a285d565edff6a0fe4374f094824ab3bf746cfe671f21a40023': 462,\n",
       " 462: {'file': '/proc/1719/timerslack_ns'},\n",
       " '27f7faa21fc0539bfbf63553020c108c3b619d35e5c1cf2eb7d2ac08f5a73c85': 463,\n",
       " 463: {'file': '/proc/1720/timerslack_ns'},\n",
       " '37ab1614acc60ad5ad936873f9ca2b29be20454a57b5442d4aabbc8753abbb12': 464,\n",
       " 464: {'file': '/proc/1086/stat'},\n",
       " '518666c36759268160be685d73f776da4bf5d602126776c6d57faec8c2ad6b29': 465,\n",
       " 465: {'file': '/proc/1086/cmdline'},\n",
       " 'aaa9584f7b2d0c18acb569a5e912da7e56fdd6d559b5109154a4d7283797de31': 466,\n",
       " 466: {'file': '/proc/1226/stat'},\n",
       " '422167f3475b0bfdebbdc200a666cd3fa3843c14b0008a75dd9334bc2ba95622': 467,\n",
       " 467: {'file': '/proc/1226/cmdline'},\n",
       " '9cb2faf19d20c42cb0d69cd0f90d9691b7b4f5debbb993f55b6ef6a176c9cb07': 468,\n",
       " 468: {'file': '/proc/1413/stat'},\n",
       " '5d0aa1ff1a2af631b21b92fe5a9798f42fdef8d10a4700474a3bbd281b6d4758': 469,\n",
       " 469: {'file': '/proc/1413/cmdline'},\n",
       " '3ca53dda7609b321f6d068b918cd40030673a94741d188ac50f4c3047562f982': 470,\n",
       " 470: {'file': '/proc/1575/stat'},\n",
       " 'e08e2bf41d86709cdf5521ca041bb3a7c973ff66a76a17942344e8a9b8d2e604': 471,\n",
       " 471: {'file': '/proc/1575/cmdline'},\n",
       " '83b4f62510af20e281e151f5d5d11c13a09e2242e197f32bf6d6fdc45e116d0a': 472,\n",
       " 472: {'file': '/proc/1645/stat'},\n",
       " '37197141b627b57bde1d7b18fa47abd28f3847ccb19e7eb46ed288caeb21defd': 473,\n",
       " 473: {'file': '/proc/1645/cmdline'},\n",
       " 'aaa07ccdeaba27791b0981c265a77971e17df7356fa4d6746801d17fa56c93b5': 474,\n",
       " 474: {'file': '/proc/1745/stat'},\n",
       " 'cfec1a166586b43b66dc7e730b422dfa2f1d99cedaf1c7cfeed5596159f0f74e': 475,\n",
       " 475: {'file': '/proc/1745/cmdline'},\n",
       " '9ea8433672f1a739b5ed752c6da1116a55a99ed0d4ba9602666b67f2952fa5cf': 476,\n",
       " 476: {'file': '/data/app/vmdl1698765781.tmp'},\n",
       " '3c69765a384477714b25cf90a7417ce9cf40b5252f38b2ad697b8b13ebd8ebde': 477,\n",
       " 477: {'file': '/data/app/vmdl1698765781.tmp/base.apk'},\n",
       " '26d642999504128f404fb2667da23b270e49d6d79c53df9a026d30c410d45cb6': 478,\n",
       " 478: {'file': '/data/app/vmdl1698765781.tmp/lib'},\n",
       " 'e6aae84d99f20292f2f47a5dc2dedd560afef5390f817f6ad6ca32d0310e149b': 479,\n",
       " 479: {'file': '/data/app/com.jmt.clockwidget-xbkrtReEtlW7YoAd0jHHFg=='},\n",
       " '4731a86bfdb7b63661af6387b03dd66ba91d03f5e693ee7722f9547e8679f125': 480,\n",
       " 480: {'file': '/data/app/com.jmt.clockwidget-xbkrtReEtlW7YoAd0jHHFg==/base.apk'},\n",
       " 'ce02634922de9c0002e83e3ecc6f200d748a4b531d8f2bfbd4f7eda0a0fff02a': 481,\n",
       " 481: {'file': '/data/app/com.jmt.clockwidget-xbkrtReEtlW7YoAd0jHHFg==/lib'},\n",
       " 'cfd086c7ba5a089b93339e5f4f91647b2d87e05001f0dd910a95b6a46800e8d5': 482,\n",
       " 482: {'file': '/proc/cpuinfo'},\n",
       " '5adac64bf9e8ee11296354b2aa81654cf0db87acd8a9683cf650ad5c1c92b6b1': 483,\n",
       " 483: {'file': '/sys/devices/system/cpu'},\n",
       " 'bae7d0a3b5c3cb566671b4e11f2c6610a0c3ee4a51fbf014bd6112d87e4204e3': 484,\n",
       " 484: {'file': '/data/app/com.jmt.clockwidget-xbkrtReEtlW7YoAd0jHHFg==/oat/arm64/base.odex'},\n",
       " 'e324032a1f94b26b8e2d8e7b8391260c92a1535b8e4f29d6b1344cd7ade68466': 485,\n",
       " 485: {'file': '/data/app/com.jmt.clockwidget-xbkrtReEtlW7YoAd0jHHFg==/oat/arm64/base.vdex'},\n",
       " 'af6eb99b632c4b7cfac9ff9a7c54e6f7604d4424247f1c6f75f23797cd5d3f41': 486,\n",
       " 486: {'file': '/proc/1824/cmdline'},\n",
       " '4cbd360357f47e2c4351bc116a6d972743901c3fec6b67d0c46784f750c5eec9': 487,\n",
       " 487: {'file': '/proc/1824/stat'},\n",
       " '07ac0d6f975c861c9ecf5bef7e13edbccc17f29112d4037bca22dea1d9c9569d': 488,\n",
       " 488: {'file': '/proc/1824/maps'},\n",
       " 'e4f6e9795d8d5cc64ca9bf486ed9dbd5de3277c23fa036f0ce00c2db0ec10200': 489,\n",
       " 489: {'file': '/data/app/com.jmt.clockwidget-xbkrtReEtlW7YoAd0jHHFg==/oat/arm64/base.odex.swap (deleted)'},\n",
       " '9f1add22568c49fd7780c530576b68f4599f25eef8422b74b74a17e3eed2fbfe': 490,\n",
       " 490: {'file': '/acct/uid_10090/pid_17271/cgroup.procs'},\n",
       " '0ecf993c910be471f904834a528ce87ca7bfdb0b265cef16599f9b628f3d7419': 491,\n",
       " 491: {'file': '/acct/uid_10090/pid_17271'},\n",
       " 'bb8bb02b7e70075bbb14ada9deabf6b69a4b68d0c1c72507a6e535932eb682b6': 492,\n",
       " 492: {'file': '/data/system/graphicsstats/1557273600000/com.jmt.clockwidget'},\n",
       " 'eef77a5ee89f3848880c2b6e3e9d186f20151c50c211ae080063be97f3c10d6c': 493,\n",
       " 493: {'file': '/data/system/graphicsstats/1557273600000/com.jmt.clockwidget/20'},\n",
       " 'e37f5d44f37d5b3ee388ffc6c15f0f0b27e867d2f3dfea8c86519bc9a364e82f': 494,\n",
       " 494: {'file': '/proc/1834/timerslack_ns'},\n",
       " '1f5856288175159893033fabd0820a832b5e0183841af1fae102ef906ab6f0d4': 495,\n",
       " 495: {'file': '/proc/1821/timerslack_ns'},\n",
       " '4f77cf99eef404e792cbfd6776888b2972ed2d37ac896f7ec7f95c50722d1936': 496,\n",
       " 496: {'file': '/proc/1853/cmdline'},\n",
       " 'fd5d32feb2d3562582258990ecfca9b88376957e512d5caac72ad89fc78d2df4': 497,\n",
       " 497: {'file': '/dev/null'},\n",
       " '5ec30866f951a10c88bfe7825b35156e07b8cae5ea686de10be04dcda391f1cf': 498,\n",
       " 498: {'file': '/proc/1866/timerslack_ns'},\n",
       " '9509dac8377c3c4a7d34bef6ddaa3f5a7e5605d06aea6bb3606e2ebc5f02ee0a': 499,\n",
       " 499: {'file': '/proc/1867/timerslack_ns'},\n",
       " ...}"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nodeid2msg"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "include_edge_type=[\n",
    "    'EVENT_CLOSE',\n",
    "    'EVENT_OPEN',\n",
    "    'EVENT_READ',\n",
    "    'EVENT_WRITE',\n",
    "     'EVENT_EXECUTE',\n",
    "    'EVENT_RECVFROM',\n",
    "    'EVENT_RECVMSG',\n",
    "    'EVENT_SENDMSG',\n",
    "    'EVENT_SENDTO',\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████████████| 103/103 [3:27:55<00:00, 121.12s/it]\n"
     ]
    }
   ],
   "source": [
    "datalist=[]\n",
    "edge_type=set()\n",
    "reverse=[\"EVENT_READ\",\"EVENT_RECVFROM\",\"EVENT_RECVMSG\"]        \n",
    "for file in tqdm(filelist):\n",
    "        with open(filePath + file, \"r\") as f:\n",
    "            for line in (f):\n",
    "                if '{\"datum\":{\"com.bbn.tc.schema.avro.cdm20.Event\"' in line:\n",
    "#                     print(line)\n",
    "                    subject_uuid=re.findall('\"subject\":{\"com.bbn.tc.schema.avro.cdm20.UUID\":\"(.*?)\"}',line)\n",
    "                    predicateObject_uuid=re.findall('\"predicateObject\":{\"com.bbn.tc.schema.avro.cdm20.UUID\":\"(.*?)\"}',line)\n",
    "                    if len(subject_uuid) >0 and len(predicateObject_uuid)>0:\n",
    "                        if subject_uuid[0] in subject_uuid2hash\\\n",
    "                        and (predicateObject_uuid[0] in file_uuid2hash or predicateObject_uuid[0] in net_uuid2hash):\n",
    "                           \n",
    "                            relation_type=re.findall('\"type\":\"(.*?)\"',line)[0]\n",
    "                            time_rec=re.findall('\"timestampNanos\":(.*?),',line)[0]\n",
    "                            time_rec=int(time_rec)\n",
    "                            subjectId=subject_uuid2hash[subject_uuid[0]]\n",
    "                            if predicateObject_uuid[0] in file_uuid2hash:\n",
    "                                objectId=file_uuid2hash[predicateObject_uuid[0]]\n",
    "                            else:\n",
    "                                objectId=net_uuid2hash[predicateObject_uuid[0]]\n",
    "#                                 print(line)\n",
    "                            edge_type.add(relation_type)\n",
    "                            if relation_type in reverse:\n",
    "                                datalist.append([objectId,nodeid2msg[objectId],relation_type,subjectId,nodeid2msg[subjectId],time_rec])\n",
    "                            else:\n",
    "                                datalist.append([subjectId,nodeid2msg[subjectId],relation_type,objectId,nodeid2msg[objectId],time_rec])\n",
    "\n",
    "               \n",
    "     \n",
    "                     "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "rel=filter_type=[\n",
    "   'EVENT_ACCEPT',\n",
    " 'EVENT_CLONE',\n",
    " 'EVENT_CLOSE',\n",
    " 'EVENT_CREATE_OBJECT',\n",
    " 'EVENT_EXECUTE',\n",
    " 'EVENT_OPEN',\n",
    " 'EVENT_READ',\n",
    " 'EVENT_RECVFROM',\n",
    " 'EVENT_SENDTO',\n",
    " 'EVENT_WRITE',\n",
    "]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "# filter the event types\n",
    "datalist_new=[]\n",
    "for d in datalist:\n",
    "    if d[2] in filter_type:      \n",
    "        datalist_new.append(d)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "sql = '''insert into event_table\n",
    "                     values %s\n",
    "        '''\n",
    "ex.execute_values(cur,sql, datalist_new,page_size=10000)\n",
    "connect.commit() "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Featurization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.feature_extraction import FeatureHasher\n",
    "from torch_geometric.transforms import NormalizeFeatures\n",
    "\n",
    "from sklearn import preprocessing \n",
    "import numpy as np\n",
    "\n",
    "\n",
    "FH_string=FeatureHasher(n_features=16,input_type=\"string\")\n",
    "FH_dict=FeatureHasher(n_features=16,input_type=\"dict\")\n",
    "\n",
    "\n",
    "def path2higlist(p):\n",
    "    l=[]\n",
    "    spl=p.strip().split('/')\n",
    "    for i in spl:\n",
    "        if len(l)!=0:\n",
    "            l.append(l[-1]+'/'+i)\n",
    "        else:\n",
    "            l.append(i)\n",
    "#     print(l)\n",
    "    return l\n",
    "\n",
    "def ip2higlist(p):\n",
    "    l=[]\n",
    "    spl=p.strip().split('.')\n",
    "    for i in spl:\n",
    "        if len(l)!=0:\n",
    "            l.append(l[-1]+'.'+i)\n",
    "        else:\n",
    "            l.append(i)\n",
    "#     print(l)\n",
    "    return l\n",
    "\n",
    "\n",
    "def subject2higlist(p):\n",
    "    l=[]\n",
    "    spl=p.strip().split('/')\n",
    "    for i in spl:\n",
    "        if len(l)!=0:\n",
    "            l.append(l[-1]+'/'+i)\n",
    "        else:\n",
    "            l.append(i)\n",
    "#     print(l)\n",
    "    return l\n",
    "\n",
    "\n",
    "def list2str(l):\n",
    "    s=''\n",
    "    for i in l:\n",
    "        s+=i\n",
    "    return s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|█████████████████████████████████████████████████████████████████████████████| 279920/279920 [00:00<00:00, 1441212.78it/s]\n"
     ]
    }
   ],
   "source": [
    "node_msg_vec=[]\n",
    "node_msg_dic_list=[]\n",
    "for i in tqdm(nodeid2msg.keys()):\n",
    "    if type(i)==int:\n",
    "        if 'netflow' in nodeid2msg[i].keys():\n",
    "            higlist=['netflow']\n",
    "            higlist+=ip2higlist(nodeid2msg[i]['netflow'])\n",
    "            \n",
    "        if 'file' in nodeid2msg[i].keys():\n",
    "            higlist=['file']\n",
    "            higlist+=path2higlist(nodeid2msg[i]['file'])\n",
    "            \n",
    "#             print(higlist)\n",
    "        if 'subject' in nodeid2msg[i].keys():\n",
    "            higlist=['subject']\n",
    "            higlist+=subject2higlist(nodeid2msg[i]['subject'])\n",
    "        node_msg_dic_list.append(list2str(higlist))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|███████████████████████████████████████████████████████████████████████████████| 139960/139960 [00:04<00:00, 28888.46it/s]\n"
     ]
    }
   ],
   "source": [
    "node2higvec=[]\n",
    "for i in tqdm(node_msg_dic_list):\n",
    "    vec=FH_string.transform([i]).toarray()\n",
    "    node2higvec.append(vec)\n",
    "    \n",
    "#100%|██████████| 139960/139960 [00:16<00:00, 8724.76it/s]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "node2higvec=np.array(node2higvec).reshape([-1,16])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "rel2id={1: 'EVENT_ACCEPT',\n",
    " 'EVENT_ACCEPT': 1,\n",
    " 2: 'EVENT_CLONE',\n",
    " 'EVENT_CLONE': 2,\n",
    " 3: 'EVENT_CLOSE',\n",
    " 'EVENT_CLOSE': 3,\n",
    " 4: 'EVENT_CREATE_OBJECT',\n",
    " 'EVENT_CREATE_OBJECT': 4,\n",
    " 5: 'EVENT_EXECUTE',\n",
    " 'EVENT_EXECUTE': 5,\n",
    " 6: 'EVENT_OPEN',\n",
    " 'EVENT_OPEN': 6,\n",
    " 7: 'EVENT_READ',\n",
    " 'EVENT_READ': 7,\n",
    " 8: 'EVENT_RECVFROM',\n",
    " 'EVENT_RECVFROM': 8,\n",
    " 9: 'EVENT_SENDTO',\n",
    " 'EVENT_SENDTO': 9,\n",
    " 10: 'EVENT_WRITE',\n",
    " 'EVENT_WRITE': 10}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Geneate edge type one-hot\n",
    "relvec=torch.nn.functional.one_hot(torch.arange(0, len(rel2id.keys())//2), num_classes=len(rel2id.keys())//2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Map different relation types to their one-hot encoding\n",
    "rel2vec={}\n",
    "for i in rel2id.keys():\n",
    "    if type(i) is not int:\n",
    "        rel2vec[i]= relvec[rel2id[i]-1]\n",
    "        rel2vec[relvec[rel2id[i]-1]]=i"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "## save the results\n",
    "torch.save(node2higvec,\"node2higvec\")\n",
    "torch.save(rel2vec,\"rel2vec\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Generate the dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "node2higvec=torch.load(\"./node2higvec\")\n",
    "rel2vec=torch.load(\"./rel2vec\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "os.system(\"mkdir -p ./train_graphs/\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      "  0%|                                                                                                   | 0/10 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2019-05-8  events count: 6060013\n",
      "2019-05-8  edge list len: 6060013\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 10%|█████████                                                                                  | 1/10 [00:39<05:53, 39.33s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2019-05-9  events count: 8438455\n",
      "2019-05-9  edge list len: 8438455\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 20%|██████████████████▏                                                                        | 2/10 [01:35<06:35, 49.42s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2019-05-10  events count: 35638\n",
      "2019-05-10  edge list len: 35638\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 30%|███████████████████████████▎                                                               | 3/10 [01:39<03:21, 28.72s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2019-05-11  events count: 34775\n",
      "2019-05-11  edge list len: 34775\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 50%|█████████████████████████████████████████████▌                                             | 5/10 [01:42<00:59, 11.93s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2019-05-12  events count: 34548\n",
      "2019-05-12  edge list len: 34548\n",
      "2019-05-13  events count: 9672946\n",
      "2019-05-13  edge list len: 9672946\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 60%|██████████████████████████████████████████████████████▌                                    | 6/10 [02:41<01:51, 27.75s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2019-05-14  events count: 9518075\n",
      "2019-05-14  edge list len: 9518075\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 70%|███████████████████████████████████████████████████████████████▋                           | 7/10 [03:42<01:56, 38.81s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2019-05-15  events count: 8379621\n",
      "2019-05-15  edge list len: 8379621\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 80%|████████████████████████████████████████████████████████████████████████▊                  | 8/10 [04:36<01:26, 43.47s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2019-05-16  events count: 12736852\n",
      "2019-05-16  edge list len: 12736852\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 90%|█████████████████████████████████████████████████████████████████████████████████▉         | 9/10 [05:57<00:55, 55.41s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2019-05-17  events count: 7520878\n",
      "2019-05-17  edge list len: 7520878\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████████████| 10/10 [06:47<00:00, 40.74s/it]\n"
     ]
    }
   ],
   "source": [
    "for day in tqdm(range(8,18)):\n",
    "    start_timestamp=datetime_to_ns_time_US('2019-05-'+str(day)+' 00:00:00')\n",
    "    end_timestamp=datetime_to_ns_time_US('2019-05-'+str(day+1)+' 00:00:00')\n",
    "    sql=\"\"\"\n",
    "    select * from event_table\n",
    "    where\n",
    "          timestamp_rec>'%s' and timestamp_rec<'%s'\n",
    "           ORDER BY timestamp_rec;\n",
    "    \"\"\"%(start_timestamp,end_timestamp)\n",
    "    cur.execute(sql)\n",
    "    events = cur.fetchall()\n",
    "    print('2019-05-'+str(day),\" events count:\",str(len(events)))\n",
    "    edge_list=[]\n",
    "    for e in events:\n",
    "        edge_temp=[int(e[1]),int(e[4]),e[2],e[5]]\n",
    "        if e[2] in rel2id: \n",
    "#         if True:\n",
    "            edge_list.append(edge_temp)\n",
    "    print('2019-05-'+str(day),\" edge list len:\",str(len(edge_list)))\n",
    "\n",
    "    dataset = TemporalData()\n",
    "    src = []\n",
    "    dst = []\n",
    "    msg = []\n",
    "    t = []\n",
    "    for i in edge_list:\n",
    "        src.append(int(i[0]))\n",
    "        dst.append(int(i[1]))\n",
    "    #     msg.append(torch.cat([torch.from_numpy(node2higvec_bn[i[0]]), rel2vec[i[2]], torch.from_numpy(node2higvec_bn[i[1]])] ))\n",
    "        msg.append(torch.cat([torch.from_numpy(node2higvec[i[0]]), rel2vec[i[2]], torch.from_numpy(node2higvec[i[1]])] ))\n",
    "        t.append(int(i[3]))\n",
    "    if len(edge_list)>0:\n",
    "        dataset.src = torch.tensor(src)\n",
    "        dataset.dst = torch.tensor(dst)\n",
    "        dataset.t = torch.tensor(t)\n",
    "        dataset.msg = torch.vstack(msg)\n",
    "        dataset.src = dataset.src.to(torch.long)\n",
    "        dataset.dst = dataset.dst.to(torch.long)\n",
    "        dataset.msg = dataset.msg.to(torch.float)\n",
    "        dataset.t = dataset.t.to(torch.long)\n",
    "        torch.save(dataset, \"./train_graphs/graph_5_\"+str(day)+\".TemporalData.simple\")  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.16"
  },
  "latex_envs": {
   "LaTeX_envs_menu_present": true,
   "autoclose": false,
   "autocomplete": true,
   "bibliofile": "biblio.bib",
   "cite_by": "apalike",
   "current_citInitial": 1,
   "eqLabelWithNumbers": true,
   "eqNumInitial": 1,
   "hotkeys": {
    "equation": "Ctrl-E",
    "itemize": "Ctrl-I"
   },
   "labels_anchors": false,
   "latex_user_defs": false,
   "report_style_numbering": false,
   "user_envs_cfg": false
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "197.797px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
